1. 程式人生 > >R作圖之ggplot2包

R作圖之ggplot2包

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

geom_function有很多種來滿足我們不同的作圖要求,我們有geom_point,geom_bar geom_boxplot(箱型圖)等,geom_function與mapping是一對,有geom_function必有mapping,mapping代表對映,將資料集的類分別對映到y軸和x軸,在mapping中,會預設的stat_count() y軸的值,如果我們不需要count的話,我們可以將stat設定為identity,這樣就會得到y本身的值 example

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

這部分是關於座標的選取和變換,ggplot2預設的是笛卡爾座標系,我們也可以使用極座標系,用coord_polar()將笛卡爾座標系轉化為極座標系

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))