您好,登錄后才能下訂單哦!
這篇文章主要講解了“R語言可視化ggplot的theme訂制是什么意思”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“R語言可視化ggplot的theme訂制是什么意思”吧!
ggplot作圖系統在R預言諸多可視化包中之所以如此的風靡,除了它擁有自己的圖層理念之外,我覺得還要歸功于它對于圖表細節元素的靈活調整。
對于ggplot的初學者而言,可能沒有太多的在意圖表的主題是否優雅,配色是否美觀,僅求能夠準確無誤的出圖就OK了。
但是如果僅限于此,那么使用ggplot作圖真的就是殺雞用了宰牛刀了。
就拿默認的圖表來說,雖然你只靠兩句代碼就可以跑出來一幅還算及格的圖表,可是ggplot語法博大精深,背后給你的代碼默認匹配的參數不計其數。
其中有一組特別龐大的參數組就是theme()參數:
默認的圖表再不添加任何自定義主題和配色的情況下,軟件會給出默認的主題和配色:
默認主題是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 = c(5050,3800,2900,2500,3300))
mydata<-melt(data,id.vars=c("Name","Conpany"),variable.name="Year",value.name="Sale")
ggplot(mydata,aes(Conpany,Sale,fill=Year))+geom_bar(stat="identity")
以上代碼(已經簡化的不能再簡化了,不夸張的說,再少一個標點符號,就要報錯了)跑出來的默認堆積條形圖。
可是在R預言可視化這個領域內,以上圖表絕對是一個爛大街的貨色,怎么說呢,因為你不修改主題,它搭配的主題永遠都是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(),所以看去來前者與第一幅圖無異,后者則差別很大。
雖然看起來修改主題好像很簡單的樣紙,殊不知,在主題內部,該函數是設定了不計其數、讓人眼花繚亂的參數。
你可以通過theme_gray 查看主題函數內的參數配置:
theme_gray
theme_bw
哈哈看傻眼了吧,其實仔細捋一捋,主題函數內的參數雖然繁雜,但是絕對算不上晦澀。
以下是自己整理的主題參數列表:
通過設定主題參數,你也可以制作專屬的圖表主題模板。
接下來我將設定一個簡單的主題模板用于修改以上的圖表主題;
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()
這里要強調一點,主題中是不包含顏色模板設定的,因為顏色的使用場景及類別比較復雜,會有專門的顏色標度進行設定,其實就是scale_colour_xxx()/scale_fill_xxx()進行設定(分別為點、線色以及區域色)
這里暫且使用一個RColorbrewer色板中的漸變色裝飾一下,不做過多解釋,下一節,專門討論顏色。
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))
感謝各位的閱讀,以上就是“R語言可視化ggplot的theme訂制是什么意思”的內容了,經過本文的學習后,相信大家對R語言可視化ggplot的theme訂制是什么意思這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。