R語言ggforce繪制線段方法_第1頁
R語言ggforce繪制線段方法_第2頁
R語言ggforce繪制線段方法_第3頁
R語言ggforce繪制線段方法_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、R語言ggforce繪制線段的方法線段是最基本的集合圖形。ggplot2 中,geom_segementgeom_linegeom_path 等函數(shù)都可以將兩點(diǎn)連接而成線段。這些函數(shù)能滿足大多數(shù)的作圖需要。ggforce 包也提供了三個(gè)函數(shù)用以繪制線段,分別是geom_linkOgeomJink和geom_link2o geom_linkO與geom_segement的功能完全相同,本文主要介紹geom_link和 geomink2的使用,以及與其他函數(shù)的異同。線段的粗細(xì)和顏色漸變ggforce包中的geomjink函數(shù)與geom_segement的用法相同,必須提供線 段的起點(diǎn)和終點(diǎn),將兩點(diǎn)

2、連接成線段。geomink函數(shù)額外增加了圖像插值,與 alpha和size配合使用,實(shí)現(xiàn)線段尺寸和顏色漸變效果。require(ggforce)#產(chǎn)生數(shù)據(jù)集lines lines - data.frame( x = c(5,5,5),y =xend = c(19,19,19), yend = c(10,n,12)#geom_segementfflj 線段 plggplot(data = lines,aes(x = x, y = y, xend = xend, yend = yend, colour = rainbow(3)4- geom_segment(aes(si ze=l:3) + lab

3、s(ti tie = Mgeom_s egmen tM ) 4- theme(plot.title = element_text(hjust = 0.5) #geom_l i nk 畫線段 p2 ggplot(data = lines,aes(x = x, y = y, xend = xend, yend = yend, colour = rainbow(3), alpha = . .index.geom_l ink(aes(size = . index. )4- labs (ti tie = *geom_l ink*) +theme(plot.title = element_text(hju

4、st = 0.5) #合并圖形ggplot2.multiplot(pl,p2, cols=2)以上代碼首先產(chǎn)生一個(gè)數(shù)據(jù)集lines,該數(shù)據(jù)集中為三條線段的起點(diǎn),xend和 yend為對(duì)應(yīng)的終點(diǎn)坐標(biāo)。labs函數(shù)為圖形設(shè)置標(biāo)題,theme函數(shù)將標(biāo)題居中。利 用geom_link繪制線段時(shí),alpha設(shè)置為index,表示顏色從左往右漸變。size設(shè) 定為index,表示線段粗細(xì)自左往右變粗。ggplot2.multiplot函數(shù)將兩圖合二為一。 具體圖形如下列圖圖二。12.0-11.5- 11.010.5-geom_segmentrainbow(3)#OOOOFFFF#OOFFOOFF#FFOO

5、OOFF12.0-11.5-10.5-geomjinkA11.0rainbow(3)#OOOOFFFF一#OOFFOOFF#FFOOOOFFindex10.0-III 81216Xgeom_path 和 geom_line在ggplot2中,geom_path和geomjine函數(shù)的作用是多點(diǎn)連接,二者很多時(shí) 候會(huì)產(chǎn)生相同的圖形結(jié)果,但也略有不同。geomine會(huì)按照線段端點(diǎn)的x坐標(biāo) 排序,按從小到大的順序?qū)⒍帱c(diǎn)連接在一起。geom_path在連接多點(diǎn)時(shí),是按照 各點(diǎn)坐標(biāo)的排列順序。以下代碼是兩個(gè)函數(shù)的比擬。產(chǎn)生數(shù)據(jù)集lineslset.seed(123)1inesl - data.frame

6、(x = rep(5:l,2),yl = rnorm(lO)利用geom_l i ne連接線段pl=ggplot(1inesl, aes(x, yl) +geom_point+geom_line()+1abs(titie = geom_li ne) +theme plot.title = element_text hjust = 0.5)利用geom_path連接線段p2=ggplot(1inesl, aes(x, yl) +geom_poi nt ) +geom_path:)+1abs(ti tie = geom_path) +theme plot.title = element_text

7、hjust = 0.5)合并圖形 .ggplot2.multi plot pl,p2, cols=2)數(shù)據(jù)集lines 1包含兩列,x和yl分別是10個(gè)點(diǎn)的橫縱坐標(biāo)。x的數(shù)據(jù)為 5,4,321,54321。由于15分別出現(xiàn)了兩次,因此在x=l5處均有兩個(gè)點(diǎn)。 當(dāng)用geomjine繪圖時(shí),折線的起始點(diǎn)是x的最小值1,終點(diǎn)為x的最大值5。當(dāng)用geom_path繪圖時(shí),x的第一個(gè)數(shù)值是5,因此其圖形的起始點(diǎn)在x=5處。 具體如圖四所示。geomjinegeom_path TOC o 1-5 h z IIIIIIIII1234512345XXgeom_link2geomjink2的引用方法與geom_

8、path函數(shù)的用法相同。geom_link2在 geom_path的基礎(chǔ)上增加了一個(gè)參數(shù)n,通過設(shè)定不同的n值實(shí)現(xiàn)圖形漸逐功能。 n值的設(shè)定是該函數(shù)很容易出錯(cuò)的地方(是一個(gè)坑)。下面是不同n值設(shè)定時(shí)的 代碼。pl-ggplot data = linesl, aes (x = x, y = yi, group = 1, colour = rainbow 10 )+geom_li nk 2 1wd=2,n=9)+geom_point 1wd=3) + labs(title = Mn=9)+theme plot.title = element_text hjust = 0.5) p2-ggplot(

9、data = linesl, aes (x = x,y = yi, group = 1, colour = rainbow(lO) )+geom_l -i nk2 1 wd=2 , n=90 )+geom_poi nt lwd=3 ) + labs(title = n=90)+theme plot.title = element.text hjust = 0.5) #合并圖形ggplot2.multiplot pl,p2, cols=2)參數(shù)n表示圖形中所畫線段的總數(shù),其默認(rèn)值為100。n的應(yīng)設(shè)置為兩點(diǎn)之 間所畫線段數(shù)的倍數(shù)。上面代碼利用了 linesl數(shù)據(jù)集的數(shù)據(jù),總共10個(gè)點(diǎn),假設(shè)僅僅將10個(gè)點(diǎn)連接起來,應(yīng)畫9條線段,因此該數(shù)據(jù)集在利用geomink2繪圖 時(shí),n值應(yīng)設(shè)定為9的倍數(shù)。應(yīng)該注號(hào)的是,geom_link2實(shí)際繪制的線段數(shù)為n-1條。如上面代碼的pl 中,n=9,表示簡單的10個(gè)點(diǎn)連接起來,然而此時(shí)geomink2只畫了 8條線段。 在p2中,n=90, geomink2實(shí)際

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論