R作圖之ggplot2包
阿新 • • 發佈:2018-12-09
ggplot2使用的基本框架 下面逐一介紹 1.data data是我們需要視覺化的資料,在學習中,我們經常使用R語言自帶的diamonds和flights資料來源。在data框的範圍我們也可以使用mapping(對映),在data框範圍使用的屬性在後面鑲嵌的圖層中為預設屬性。example
ggplot(data=mpg,mapping=aes(y=hwy,x=class))+
geom_point()
這裡的geom_point圖層預設繼承ggplot中的屬性。也就是說,我們可以通過ggplot設定預設的屬性,後面鑲嵌的圖層設定自己獨有特殊的屬性。 2.geom_function
library(tibble)
tri<-tribble(
~a,~b,
"bar_1",20,
"bar_2" ,30,
"bar_3",40
)
#set a to x,set b to y
#stat需要改為identity
ggplot(data=tri)+
geom_bar(mapping = aes(x=a,y=b),stat = "identity")
mapping=aes(x=,y=,color=,clarity(透明度)=)這些都是mapping的預設屬性 注意,R中作圖是圖層的堆積,如果是選擇做條形圖的話,color無法給條形圖附上顏色,必須用fill給條形圖附上顏色
postion postion是對條形圖位置調整,有以上四種方法。
COORDINATE_FUNCTION
bar<-ggplot(data=diamonds)+
geom_bar(mapping = aes(x=cut,fill=cut),show.legend = F,width = 1)
#不要標籤+極座標
bar+labs(x=NULL,y=NULL)+coord_polar()
座標函式 下面是關於如何形成百分比的例子
ggplot(data=diamonds)+
geom_bar(mapping = aes(x=cut,y=..prop..))
將對映的y軸屬性設定為prop(百分比)即可,然後結果顯示的每個組別的百分比都是100%,這是怎麼回事呢? 分析cut
> unique(diamonds$cut)
[1] Ideal Premium Good Very Good
[5] Fair
5 Levels: Fair < Good < ... < Ideal
cut是因子,在對映到x軸時,R語言自動將其分為5個組,自然每個組的百分比都為1了。 然後我們只需要把group屬性設定為1即可
ggplot(data=diamonds)+
geom_bar(mapping = aes(x=cut,y=..prop..,group=1))