真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

R語言可視化實(shí)現(xiàn)圖表嵌套

這篇文章主要介紹“R語言可視化實(shí)現(xiàn)圖表嵌套”,在日常操作中,相信很多人在R語言可視化實(shí)現(xiàn)圖表嵌套問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”R語言可視化實(shí)現(xiàn)圖表嵌套”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站,為您提供重慶網(wǎng)站建設(shè)、網(wǎng)站制作公司、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對服務(wù)玻璃隔斷等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

之前在學(xué)習(xí)ggplot的時(shí)候,一直存在著一個(gè)困惑。

就是這個(gè)函數(shù)是否允許兩個(gè)做出來的兩個(gè)相關(guān)圖表重疊嵌套(也就是在一個(gè)大圖(主圖)的邊緣位置,放置另一個(gè)縮小版的小圖)。

這個(gè)想法很奇葩,本來想著沒啥希望,鑒于該包的開發(fā)者那犀利的審美觀,估計(jì)也不能允許這種情況的發(fā)生。

不過最近瀏覽一位大神的博客,真的有這種情況的解決措施,喜出望外,趕緊在這里分享給大家。

不過他的處理方式不是通過ggplot的內(nèi)置函數(shù),而是通過grid包中的viewport函數(shù)來實(shí)現(xiàn)的:

以下是具體的實(shí)現(xiàn)步驟:

加載包:

library(ggplot2)  #用于畫圖,主圖和附圖都使用ggplot的內(nèi)置數(shù)據(jù)集

library(grid)     #用于設(shè)定附圖的長寬及疊放在主圖的精確位置

加載并預(yù)覽數(shù)據(jù)集:

這里我們還是使用關(guān)于鉆石的那個(gè)數(shù)據(jù)集(之前的圖表案例很多都是使用該數(shù)據(jù)集)

data(diamonds)

head(diamonds)

R語言可視化實(shí)現(xiàn)圖表嵌套

#制作復(fù)合圖的主圖:

chart1<-ggplot(diamonds,aes(carat,price,colour=cut))+geom_point()+theme(legend.position=c(0.9,0.72),legend.background=element_rect(I(0)))

R語言可視化實(shí)現(xiàn)圖表嵌套

以上函數(shù)可以制作出以carat和price為主要對應(yīng)關(guān)系的散點(diǎn)圖,同時(shí)分類變量cut通過顏色映射進(jìn)行區(qū)分。最后調(diào)整了圖例位置和圖表背景。

#設(shè)定附圖長寬及其最終落在主圖上的精確位置:

vie<-viewport(width=0.669,height=0.4,x=0.7,y=0.306)

#制作附圖

chart2 <-ggplot(diamonds,aes(depth,fill=cut,alpha=.2))+geom_density()+xlim(54,70) +

       theme(axis.text.y=element_text(face="bold",colour="black"),

             axis.title.y=element_blank(),

             axis.text.x=element_text(face="bold",colour="black"),

             plot.background=element_rect(I(0),linetype=0),

             panel.background=element_rect(I(0)),

             panel.grid.major=element_line(colour=NA),

             panel.grid.minor=element_line(colour=NA),

             legend.background=element_rect(I(0),linetype=1),

             legend.position=c(0.85,0.72))

chart2  #預(yù)覽附圖

R語言可視化實(shí)現(xiàn)圖表嵌套

因?yàn)楦綀D要放置在主圖邊緣并且縮放很大比例,為了防止其背景和網(wǎng)格線系統(tǒng)遮擋主圖的重要信息,對其主題元素進(jìn)行了大量的簡化。

將主圖與附圖合成一并顯示:

print(chart2,vp=vie)

R語言可視化實(shí)現(xiàn)圖表嵌套

將以上代碼打包組合:

chart1<-ggplot(diamonds,aes(carat,price,colour=cut))+geom_point()+theme(legend.position=c(0.9,0.72),legend.background=element_rect(I(0)))

chart1

vie<-viewport(width=0.669,height=0.4,x=0.7,y=0.306)

chart2 <-ggplot(diamonds,aes(depth,fill=cut,alpha=.2))+geom_density()+xlim(54,70) +

       theme(axis.text.y=element_text(face="bold",colour="black"),

             axis.title.y=element_blank(),

             axis.text.x=element_text(face="bold",colour="black"),

             plot.background=element_rect(I(0),linetype=0),

             panel.background=element_rect(I(0)),

             panel.grid.major=element_line(colour=NA),

             panel.grid.minor=element_line(colour=NA),

             legend.background=element_rect(I(0),linetype=1),

             legend.position=c(0.85,0.72))

print(chart2,vp=vie)

R語言可視化實(shí)現(xiàn)圖表嵌套

其實(shí)仔細(xì)看這種做法,里面也不外乎圖層疊加,先做出主圖,然后通過viewport函數(shù)將附圖縮小并疊加到主圖上,不過這種方式用來展示一些需要多角度透視的數(shù)據(jù)分布問題還是很合適的,而且因?yàn)槭且蕾囉诓煌陌?,所有主圖與附圖之間沒有嚴(yán)格的類型限制,你所需要做的只是調(diào)整好兩個(gè)圖表的位置與大小,別讓彼此相互遮擋掩蓋重要信息就OK了。

下面我將附圖的類型更換為堆積直方圖大家看下效果:

chart1<-ggplot(diamonds,aes(carat,price,colour=cut))+geom_point()+theme(legend.position=c(0.9,0.72),legend.background=element_rect(I(0)))

chart1

vie<-viewport(width=0.669,height=0.4,x=0.7,y=0.306)

chart2 <-ggplot(diamonds,aes(depth,fill=color))+geom_histogram()+xlim(54,70) +

       theme(axis.text.y=element_text(face="bold",colour="black"),

             axis.title.y=element_blank(),

             axis.text.x=element_text(face="bold",colour="black"),

             plot.background=element_rect(I(0),linetype=0),

             panel.background=element_rect(I(0)),

             panel.grid.major=element_line(colour=NA),

             panel.grid.minor=element_line(colour=NA),

             legend.background=element_rect(I(0),linetype=1),

             legend.position=c(0.85,0.72))

print(chart2,vp=vie)

R語言可視化實(shí)現(xiàn)圖表嵌套

到此,關(guān)于“R語言可視化實(shí)現(xiàn)圖表嵌套”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


分享標(biāo)題:R語言可視化實(shí)現(xiàn)圖表嵌套
本文路徑:http://weahome.cn/article/pdispd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部