久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

R語言可視化——ggplot的theme訂制

 andyandygo 2016-10-07

ggplot作圖系統(tǒng)在R預言諸多可視化包中之所以如此的風靡,,除了它擁有自己的圖層理念之外,我覺得還要歸功于它對于圖表細節(jié)元素的靈活調(diào)整,。


對于ggplot的初學者而言,,可能沒有太多的在意圖表的主題是否優(yōu)雅,配色是否美觀,,僅求能夠準確無誤的出圖就OK了,。


但是如果僅限于此,那么使用ggplot作圖真的就是殺雞用了宰牛刀了,。


就拿默認的圖表來說,,雖然你只靠兩句代碼就可以跑出來一幅還算及格的圖表,可是ggplot語法博大精深,,背后給你的代碼默認匹配的參數(shù)不計其數(shù),。


其中有一組特別龐大的參數(shù)組就是theme()參數(shù):


默認的圖表再不添加任何自定義主題和配色的情況下,軟件會給出默認的主題和配色:


默認主題是theme_gray,中一共給出了兩套主題,,分別是theme_gray,、theme_bw


接下來我們來一步步驗證:


首先加載包:


library(ggplot2)

library(reshape2)

library(ggtheme)


data<-data.frame(name =="" c('蘋果','谷歌','臉書','亞馬遜','騰訊'),conpany="c('Apple','Google','Facebook','Amozon','Tencent'),Sale2013" =="" c(5000,3500,2300,2100,3100),sale2014="c(5050,3800,2900,2500,3300),Sale2015" =="" c(5050,3800,2900,2500,3300),sale2016="">


mydata<>


ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat='identity')




以上代碼(已經(jīng)簡化的不能再簡化了,不夸張的說,,再少一個標點符號,,就要報錯了)跑出來的默認堆積條形圖。


可是在R預言可視化這個領(lǐng)域內(nèi),,以上圖表絕對是一個爛大街的貨色,,怎么說呢,,因為你不修改主題,它搭配的主題永遠都是theme_gray


ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat='identity')+theme_gray()


ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat='identity')+theme_bw()




以上兩個圖表分別套用了默認主題theme_gray()和備用主題theme_bw(),,所以看去來前者與第一幅圖無異,,后者則差別很大。


雖然看起來修改主題好像很簡單的樣紙,,殊不知,,在主題內(nèi)部,該函數(shù)是設(shè)定了不計其數(shù),、讓人眼花繚亂的參數(shù),。


你可以通過theme_gray 查看主題函數(shù)內(nèi)的參數(shù)配置:


theme_gray




theme_bw



哈哈看傻眼了吧,其實仔細捋一捋,,主題函數(shù)內(nèi)的參數(shù)雖然繁雜,,但是絕對算不上晦澀。


以下是自己整理的主題參數(shù)列表:



通過設(shè)定主題參數(shù),,你也可以制作專屬的圖表主題模板,。


接下來我將設(shè)定一個簡單的主題模板用于修改以上的圖表主題,;


theme_xmf <- function(...,="" bg='white'>

    require(grid)

    theme_classic(...) +

        theme(rect=element_rect(fill=bg),

              plot.margin=unit(rep(0.5,4), 'lines'),

              panel.background=element_rect(fill='transparent', color='transparent'),

              panel.border=element_rect(fill='transparent', color='transparent'),

              panel.grid=element_blank(),

              axis.title = element_text(color='black', vjust=0.1),

              axis.ticks.length = unit(-0.3,'lines'),

              axis.ticks = element_line(colour = 'grey20'),             

              legend.title=element_blank(),

              legend.key=element_rect(fill='transparent', color='transparent'))

}



套用自己的自定義主題:


ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat='identity')+theme_xmf()




這里要強調(diào)一點,,主題中是不包含顏色模板設(shè)定的,因為顏色的使用場景及類別比較復雜,,會有專門的顏色標度進行設(shè)定,,其實就是scale_colour_xxx()/scale_fill_xxx()進行設(shè)定(分別為點、線色以及區(qū)域色)


這里暫且使用一個RColorbrewer色板中的漸變色裝飾一下,,不做過多解釋,,下一節(jié),專門討論顏色,。


ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat='identity')+theme_xmf()+scale_fill_brewer(palette='Blues')




至于圖表中的顏色填充順序和圖例相反,,這個問題只需追加一句代碼即可:


ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat='identity')+theme_xmf()+scale_fill_brewer(palette='Blues')+guides(fill = guide_legend(reverse = TRUE))




其他的細節(jié)設(shè)定,下節(jié)講,。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多