r语言 cairo跟普通有什么区别
1个回答
展开全部
R语言中的Cairo
什么是Cairo?
官方说法:Cairo is a vector graphics library with cross-device output support
翻译过来就是:Cairo是一个跨平台的开放源代码的矢量图形函数库,可以提供高质量的显示和打印输出。简单来说就是Cairo是一种绘制图形的工具库,它可以提供多种设备的输出。比如:png、pdf、ps、svg等。
今天就在R中简单展示一下利用Cairo进行高质量图形的渲染!
Cairo图形架构最主要的应用场合就是Linux的Gnome桌面环境,如果电脑系统是linux版本,首先可以安装Cairo的基本库libcairo2-dev和libxt-dev。方法如下:
sudo apt-get install libcairo2-dev
sudo apt-get install libxt-dev
随后在Rstudio中安装Cairo包:
install.packages("Cairo")
library(Cairo)
#检查Cairo包在自己的电脑系统下支持的图片格式
Cairo.capabilities()
可以看到,支持png、jpeg、pdf、svg、ps、raster格式的输出,接下来我们拿png作为示例进行展示。
library(ggplot2)
png(filename = "1.png",width = 400,height = 400)
ggplot(data = iris,aes(Sepal.Length,Sepal.Width,colour = Species)) + geom_point()
dev.off()
CairoPNG(filename = "2.png",width = 400,height = 400)
ggplot(data = iris,aes(Sepal.Length,Sepal.Width,colour = Species)) + geom_point()
dev.off()
上下两幅图形有丁点轻微的区别,感觉第二副图形更柔和一些(不知道是不是心理作用)。
n <- 10000
x1 <- matrix(rnorm(n), ncol = 2)
x2 <- matrix(rnorm(n, mean = 3, sd = 1.5), ncol = 2)
x <- rbind(x1, x2)
png(filename = "3.png",width = 500,height = 500)
Lab.palette <- colorRampPalette(c("blue", "orange", "red"), space = "Lab")
smoothScatter(x, colramp = Lab.palette,nrpoints = 250, ret.selection=TRUE,
xlab="",ylab="",axes=F)
dev.off()
CairoPNG(filename = "4.png",width = 500,height = 500)
Lab.palette <- colorRampPalette(c("blue", "orange", "red"), space = "Lab")
smoothScatter(x, colramp = Lab.palette,nrpoints = 250, ret.selection=TRUE,
xlab="",ylab="",axes=F)
dev.off()
上述两幅图形就有了明显的区别,第二幅图形更明亮,渲染的更好看一些。其实,你可以把Cairo看做一个图像处理软件,比如Photoshop?调整图形的颜色、字体等,甚至也可以用这个软件去画出任何图形。
什么是Cairo?
官方说法:Cairo is a vector graphics library with cross-device output support
翻译过来就是:Cairo是一个跨平台的开放源代码的矢量图形函数库,可以提供高质量的显示和打印输出。简单来说就是Cairo是一种绘制图形的工具库,它可以提供多种设备的输出。比如:png、pdf、ps、svg等。
今天就在R中简单展示一下利用Cairo进行高质量图形的渲染!
Cairo图形架构最主要的应用场合就是Linux的Gnome桌面环境,如果电脑系统是linux版本,首先可以安装Cairo的基本库libcairo2-dev和libxt-dev。方法如下:
sudo apt-get install libcairo2-dev
sudo apt-get install libxt-dev
随后在Rstudio中安装Cairo包:
install.packages("Cairo")
library(Cairo)
#检查Cairo包在自己的电脑系统下支持的图片格式
Cairo.capabilities()
可以看到,支持png、jpeg、pdf、svg、ps、raster格式的输出,接下来我们拿png作为示例进行展示。
library(ggplot2)
png(filename = "1.png",width = 400,height = 400)
ggplot(data = iris,aes(Sepal.Length,Sepal.Width,colour = Species)) + geom_point()
dev.off()
CairoPNG(filename = "2.png",width = 400,height = 400)
ggplot(data = iris,aes(Sepal.Length,Sepal.Width,colour = Species)) + geom_point()
dev.off()
上下两幅图形有丁点轻微的区别,感觉第二副图形更柔和一些(不知道是不是心理作用)。
n <- 10000
x1 <- matrix(rnorm(n), ncol = 2)
x2 <- matrix(rnorm(n, mean = 3, sd = 1.5), ncol = 2)
x <- rbind(x1, x2)
png(filename = "3.png",width = 500,height = 500)
Lab.palette <- colorRampPalette(c("blue", "orange", "red"), space = "Lab")
smoothScatter(x, colramp = Lab.palette,nrpoints = 250, ret.selection=TRUE,
xlab="",ylab="",axes=F)
dev.off()
CairoPNG(filename = "4.png",width = 500,height = 500)
Lab.palette <- colorRampPalette(c("blue", "orange", "red"), space = "Lab")
smoothScatter(x, colramp = Lab.palette,nrpoints = 250, ret.selection=TRUE,
xlab="",ylab="",axes=F)
dev.off()
上述两幅图形就有了明显的区别,第二幅图形更明亮,渲染的更好看一些。其实,你可以把Cairo看做一个图像处理软件,比如Photoshop?调整图形的颜色、字体等,甚至也可以用这个软件去画出任何图形。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询