您好,登錄后才能下訂單哦!
這篇文章主要介紹“R語言可視化中直方圖的介紹及其美化技巧”,在日常操作中,相信很多人在R語言可視化中直方圖的介紹及其美化技巧問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”R語言可視化中直方圖的介紹及其美化技巧”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
今天介紹關于直方圖的美化技巧!
數據集仍然使用上一節使用到的有關鉆石的數據信息。
data(diamonds)
set.seed(42)
small <- diamonds[sample(nrow(diamonds), 1000), ]
head(small)
以上通過設定隨機種子,從diamonds中隨機抽取了1000個數據作為我們制作直方圖的樣本數據(源數據集有點大)。
直方圖的做法與我們之前做柱形圖(條型圖)所使用函數主題語法大致相同,不同僅僅在于添加的圖層對象為geom_histogram()
由于直方圖呈現數據分布趨勢,所以僅需一個數值型變量進入即可。
ggplot(small)+geom_histogram(aes(x=price))
ggplot(small,aes(price))+geom_histogram()
以上兩句直方圖語法是等價的,也就是說,無論參數price在ggplot函數中,還是在圖層對象geom_histogram括號內,只要是被aes()美學映射包括著,都將作用于全局。
當然如果在直方圖參數中添加顏色映射,那么就可以做出堆積直方圖。
ggplot(small,aes(price,fill=cut))+geom_histogram()
當顏色變量(因子變量)進入aes內的時候,默認直方圖輸出為堆積直方圖。(大家是否想起了之前學過的柱形圖,可以通過設置position參數對多序列柱形進行堆積、簇狀轉換)。
我們嘗試著將position=stack參數加入geom_histogram(position="stack")參數中,看下以上說法是否可靠。
ggplot(small,aes(price,fill=cut))+geom_histogram(position="stack")
果然不出所料,加入分類變量時的直方圖,其位置調整與柱形圖如出一轍,那么我們可以將position的幾個參數挨個嘗試:
ggplot(small,aes(price,fill=cut,alpha = 1/10))+geom_histogram(position="identity") #position=identity,即不對直方圖位置作任何變換。
ggplot(small,aes(price,fill=cut,alpha = 1/10))+geom_histogram(position="dodge") #position=dodge,將各系列位置錯開成簇狀直方圖。
ggplot(small,aes(price,fill=cut,alpha = 1/10))+geom_histogram(position="fill") #position=fill,將各系列位置錯開成堆積百分比直方圖。
以上就是關于直方圖幾種常用形式,接下來講關于直方圖圖表元素調整。
直方圖的binwidth參數控制直方圖組距大小。
ggplot(diamonds, aes(carat))+geom_histogram(binwidth = 0.01)
ggplot(diamonds, aes(carat))+geom_histogram(binwidth = 0.2)
當然也可以在直方圖中直接添加fill填充為喜歡的顏色。
ggplot(diamonds, aes(carat))+geom_histogram(binwidth = 0.1,fill="steelblue")
使用外部主題命令:
ggplot(diamonds, aes(carat))+geom_histogram(binwidth = 0.1)+theme_stata()+scale_fill_stata() #以上使用了stata的主題及配色模板
ggplot(diamonds, aes(carat))+geom_histogram(binwidth = 0.1)+theme_solarized()+scale_fill_solarized() #以上使用了solarized主題及配色模板
手動自定義顏色:
ggplot(diamonds, aes(carat,fill="steelblue"))+geom_histogram(binwidth = 0.1)+theme_few()+scale_fill_manual(values="#FB882C")+ theme(strip.background=element_blank(),legend.position="none")
ggplot(small,aes(price,fill=cut))+geom_histogram(position="fill") +theme_wsj()+scale_fill_wsj()+theme(strip.background=element_blank(),legend.position="none")
ggplot(small,aes(price,fill=cut))+geom_histogram(position="fill") +theme_economist(base_size=14)+scale_fill_economist()+theme(strip.background=element_blank(),legend.position="none")
關于直方圖的分面技巧:
ggplot(small,aes(price,fill=cut))+geom_histogram()+facet_wrap(~cut)
ggplot(small,aes(price,fill=cut))+geom_histogram()+facet_wrap(~cut)+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL)) #關于直方圖的封面技巧
ggplot(small,aes(price,fill=cut))+geom_histogram()+facet_wrap(~cut)+theme_economist(base_size=14)+scale_fill_economist()+guides(fill=guide_legend(title=NULL))
到此,關于“R語言可視化中直方圖的介紹及其美化技巧”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。