中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
R極簡教程

R語言最強(qiáng)大的一點就是畫圖,那個無比強(qiáng)大的畫圖系統(tǒng),再加上各種各樣的神級R包,讓我寫R語言中最喜歡的一點就是寫繪圖代碼。

簡單來說,R語言原生的繪圖系統(tǒng)已經(jīng)非常強(qiáng)大了,根本不需要其他東西的輔助,就可以繪制非常炫目的圖片,需要的僅僅是耐心。另外R語言還有一系列的繪圖輔助R包,比如著名的ggplot2,我經(jīng)常用的plotly都是很好的工具。

再近幾年,R語言推出了Shiny框架,可以用R語言快速寫成一個網(wǎng)頁,這簡直不能更方便。

講真我已經(jīng)在期待R語言發(fā)布建站框架的那一天了。R已經(jīng)能做分布式大數(shù)據(jù)了RSpark,建站還會遠(yuǎn)嗎?

R語言繪圖基礎(chǔ)

再大的工程也是又一塊磚一塊磚壘起來了。在復(fù)雜的R圖也是又忒簡單的元素組成的,下面的這些東西,可謂是R繪圖最基本的元素,能把它們掌握,就可以繪制出相對OK的圖。

顏色

> plot(1:10,col='red')
  • 1

之前提到過,繪圖函數(shù)(比如bixplot或者plot)中的col參數(shù)就是控制顏色的,而顏色的選擇可以用問題,也可以用其他的一些標(biāo)號,比如網(wǎng)站有一個很好很強(qiáng)大的R顏色列表

面對上面這種浩如煙海的顏色,你可以直接把那個標(biāo)號:”#XXXX”用到程序里。

另外不得不推薦一個極好的R包,叫做RColorBrewer,這個包的功能主要就是提供一些自己已經(jīng)配好色的R顏色,另外提供一系列顏色的分配,比如你想要從正黃色到正藍(lán)色直接過度10個顏色,就可以用這個包。

> colorRampPalette(brewer.pal(9,'Blues'))(100) -> color> plot(1:100,col=color,pch=20,cex=2)
  • 1
  • 2


這樣就從白色到正藍(lán)色劃分成100個過渡色。

又如:

> barplot(1:5,col=RColorBrewer::brewer.pal(n = 5,name = 'Set2'))
  • 1

RColorBrewer::brewer.pal函數(shù)的功能是直接調(diào)用這個包已經(jīng)配好的顏色,其中有一系列名字,我最喜歡用的就是”Set2”,因為看上去比較素雅。

文字

有時候做了一個圖,想要在圖中加一些問題,這個問題可以用text函數(shù)來解決,就著剛才的圖,我再繼續(xù)往上邊加一個”Hello World!”

> barplot(1:5,col=RColorBrewer::brewer.pal(n = 5,name = 'Set2'))> text(x=4,y=4,labels = 'Hello World!',cex=2)
  • 1
  • 2


讓我們來細(xì)看一下text函數(shù)的參數(shù),x代表了橫坐標(biāo),我這里寫的是4,就是說希望寫再以第四個bar為中心的位置。y代表了高度,我寫的也是4,labels就是想要寫的話,可以把任何的字符串嵌進(jìn)來,最后一個參數(shù)是cex,這個是控制字體大小,1是默認(rèn)值,如果你希望字體放大一倍,就設(shè)置為2.

根據(jù)我的經(jīng)驗,想要一次性畫對圖還是有難度的,最好還是多嘗試幾次。調(diào)調(diào)位置,換換xy。慢慢就可以把圖做出來。

點、線

點和線是很基礎(chǔ)的元素,點的函數(shù)是points,線的函數(shù)是lines,要說明的是,每一次plot都會展開一副新的圖。也就是說,如果你已經(jīng)用過plot畫了一部分圖了,還想要繼續(xù)往圖上添加?xùn)|西,就需要用points或者lines函數(shù),不能重新用plot。

> barplot(1:5,col=RColorBrewer::brewer.pal(n = 5,name = 'Set2'))> points(rep(3,5),pch=20,cex=3,col='orange')
  • 1
  • 2


上面的代碼,我plot的時候,再1到5個橫坐標(biāo)上,都再縱坐標(biāo)為3的地方plot了一個橘色的點,做法其實和plot很像。

在plot或者point的時候,理論上你應(yīng)該輸入x,y兩個參數(shù),兩者應(yīng)該是完全對應(yīng)的,一一對應(yīng),前者是橫坐標(biāo),后者是縱坐標(biāo)。但是如果你只輸入了一批數(shù)據(jù),程序就會默認(rèn)橫坐標(biāo)為1,2,3,4……縱坐標(biāo)是你輸入的數(shù)值。這就是為什么,在這個函數(shù)里,我只輸入了rep(3,5)而沒有輸入橫坐標(biāo)。

> barplot(1:5,col=RColorBrewer::brewer.pal(n = 5,name = 'Set2'))> points(rep(3,5),pch=20,cex=3,col='orange')> lines(sample(1:5),col='gray',lwd=2,lty=2)
  • 1
  • 2
  • 3

如果說是劃線的話,也很簡單,使用lines函數(shù),用法和之前是一樣的,如果你輸入了對應(yīng)的x,y坐標(biāo),就可以直接繪制,如果只輸入一個vector,程序就默認(rèn)橫坐標(biāo)是1,2,3……

后面的參數(shù)里,lwd控制線的粗細(xì),lty控制線的類型,lty=2意思是虛線。

標(biāo)題

標(biāo)題其實是很容易的,只需要再plot或者其他繪圖程序里,添加main參數(shù)就行:

plot(1:10,main='This is a Title',cex.main=1.5)
  • 1

這個真沒什么好說的,cex.main=1.5的意思是,標(biāo)題的尺寸是標(biāo)準(zhǔn)值的1.5倍。此外值得說的是,如果你不喜歡這個Title,也可以用text手繪,那就稍微復(fù)雜一些。

圖例

圖例的目的就是望你看懂你在畫什么,通過legend函數(shù)我們可以添加圖例。

x <- seq(-pi,="" pi,="" len="">65)plot(x, sin(x), type = 'l', ylim = c(-1.2, 1.8), col = 3, lty = 2)points(x, cos(x), pch = 3, col = 4)lines(x, tan(x), type = 'b', lty = 1, pch = 4, col = 6)title('legend(..., lty = c(2, -1, 1), pch = c(NA, 3, 4), merge = TRUE)', cex.main = 1.1)legend(-1, 1.9, c('sin', 'cos', 'tan'), col = c(3, 4, 6), text.col = 'green4', lty = c(2, -1, 1), pch = c(NA, 3, 4), merge = TRUE, bg = 'gray90')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

上述就是legend函數(shù)的一堆參數(shù),其中col,lty等等都和plot一模一樣。

坐標(biāo)軸

坐標(biāo)軸是很容易處理的東西。直接設(shè)置參數(shù)就行了。

> plot(1:10,xlab='X lab',ylab='y lab')
  • 1

有一個很有意思的情況是,如果想要更換坐標(biāo)軸上的1,2,3,4,5該怎么辦?

plot(1:10, xaxt = 'n', xlab='Some Letters')axis(1, at=1:10, labels=letters[1:10])
  • 1
  • 2

甚至于,如果想要將坐標(biāo)軸旋轉(zhuǎn)一些角度,應(yīng)該怎么辦?這個問題我經(jīng)常遇到,原因就是有時候label的名字太長了。。。其實代碼真的超簡單:

> par(las=2)> plot(1:10, xaxt = 'n', xlab='Some Letters')> axis(1, at=1:10, labels=letters[1:10])
  • 1
  • 2
  • 3

構(gòu)圖函數(shù)

根據(jù)我?guī)啄甑腞語言經(jīng)驗,構(gòu)圖函數(shù)真的是一個很多教材都沒有認(rèn)真寫的東西,但實戰(zhàn)中經(jīng)常經(jīng)常經(jīng)常涉及這方面問題啊,在這里我記錄了一下:

首先就是,如果你想在一張圖上繪制多個圖形怎么辦?

> par(mfrow=c(2,3))> plot(1:10)> plot(1:10)> plot(1:10)> plot(1:10)> plot(1:10)> plot(1:10)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

使用par(mfrow=c(2,3))命令可以完成比較規(guī)則的構(gòu)圖,其中參數(shù)中,前一個代表行,后一個代表列,我這里的意思就是,把圖片分成兩行三列。

還有另外一種更為厲害的分屏:

# One figure in row 1 and two figures in row 2attach(mtcars)layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE))hist(wt)hist(mpg)hist(disp)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

這是我曾經(jīng)最喜歡的一個多圖函數(shù),其中的設(shè)置都是再layout里邊的matrix,里邊你可以無限多地設(shè)置函數(shù),每一張圖可以通過數(shù)字連起來,這樣就可以做出各種形狀的組合圖形。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
R語言圖形參數(shù)(上)
[R]關(guān)于R語言的繪圖函數(shù)
R plot()參數(shù)詳解
(生信篇)R語言學(xué)習(xí)第3天-圖形初體驗
R語言做圖plot參數(shù)
R可視化:plot函數(shù)基礎(chǔ)操作,小白教程
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服