您好,登錄后才能下訂單哦!
這篇文章主要介紹“R語言可視化中密度曲線圖的介紹及其美化方法”,在日常操作中,相信很多人在R語言可視化中密度曲線圖的介紹及其美化方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”R語言可視化中密度曲線圖的介紹及其美化方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
今天跟大家分享關于密度曲線圖及其美化技巧!
密度曲線圖可能平時大家用的不多,不過其實沒什么神秘,它的功能于直方圖一樣,都是用于表達連續型數值變量的分布形態。
案例還是使用之前的關于鉆石的那個數據集。
密度曲線圖所使用的圖層函數為geom_density() ,而且函數內position參數位置類型與我們之前講到的直方圖、柱形圖(條形圖時一樣的)。
ggplot(diamonds,aes(x=price))+geom_density()
里面的線條顏色是通過colour參數進行控制(一定要記好colour與fill兩個顏色填充參數的區別,colour控制線條、點顏色、fill控制區域顏色,所以在散點圖、曲線、折線圖途中使用colour參數,在面積圖、柱形圖中使用fill參數)
ggplot(diamonds,aes(x=price))+geom_density(colour="steelblue")
當然密度曲線的函數中也允許出現分類變量:
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density()
上面說過colour控制點、線條顏色、fill控制區域顏色,但是密度曲線算是一個另類,仔細看上圖你會發現,它不同于折線圖,因為每條密度曲線都是一個閉合曲線,所以他是允許使用fill參數填充閉合區域的:
ggplot(diamonds,aes(x=price,fill=clarity,alpha = 1/10))+geom_density()
你會發現這樣出來的圖形除了密度曲線內部除了被填充顏色之外,整體形狀與使用colour參數填充線條顏色是一樣的。
現在繼續讓我們回憶一下,關于上一節中將直方圖時,處理position時的場景,position主要有四個我們常用的參數:
identity(不做任何變換)、stack(堆積)、dodge(簇狀)、fill(百分比堆積)
其實只要是geom開頭的集合圖層對象,都是適用這幾個參數的,那么跟我我們的分析,以上密度曲線圖默認的參數應該是identity,下面驗證我們的猜想。
ggplot(diamonds,aes(x=price,fill=clarity,alpha = 1/10))+geom_density(position="identity")
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="identity")
果然不出我們所料,默認的帶分類變量的密度曲線圖確實是使用默認的identity參數。
那么我們依次嘗試其他幾種參數情況下的密度曲線圖呈現何種效果:
堆積:(position="stack")
ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="stack")
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="stack")
堆積:(position="dodge")# 案例來說密度曲線做成簇狀效果是不合適的,不過我還是想看下到底神馬效果
ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position=position_dodge(width =1000))
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position=position_dodge(width =1000))
大家可以看到使用dodge參數之后,R語言會有提示建議,密度曲線圖中X軸必須是無重復間隔刻度的數據,而此處的概率密度曲線無法滿足這個要求:
那么最后一個位置參數是position=fill (堆積百分比)
ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="fill")
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="fill")
關于概率密度曲線的分面表達:
ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="fill")+facet_grid(.~clarity)
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="fill")+facet_grid(.~clarity)
通過圖形效果我們可以看到,概率密度曲線的分面表達式是沒有實際意義的,因為單獨一個序列中只有一個類別,那么它的占比自然就是百分之百。
通過套用主題及配色模板,我們可以對密度曲線圖進行適當美化:
ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="fill")+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL))
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="fill")+theme_wsj()+scale_colour_wsj()+guides(colour=guide_legend(title=NULL))
ggplot(diamonds,aes(x=price,fill=clarity))+geom_density(position="stack")+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL))
ggplot(diamonds,aes(x=price,colour=clarity))+geom_density(position="stack")+theme_wsj()+scale_colour_wsj()+guides(colour=guide_legend(title=NULL))
因為套用的配色模板中顏色數量上限是6個,而我們的分類變量類別有8個,所以最后兩個類別的線條色、填充色改成了默認。
到此,關于“R語言可視化中密度曲線圖的介紹及其美化方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。