當前位置:編程學習大全網 - 源碼下載 - r語言 cairo跟普通有什麽區別

r語言 cairo跟普通有什麽區別

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?調整圖形的顏色、字體等,甚至也可以用這個軟件去畫出任何圖形。

  • 上一篇:hashset源代碼在哪裏?
  • 下一篇:elasticSearch理論篇—索引、節點、分片
  • copyright 2024編程學習大全網