- R語言數據可視化之美:專業圖表繪制指南
- 張杰
- 602字
- 2019-09-20 14:52:45
1.6.5 圖例
圖例作為圖表背景信息的重要部分,對圖表的完整與正確表達尤為重要。R ggplot2的guide_colorbar()/guide_colourbar()函數用于調整連續變量的圖例;guide_legend()函數用于離散變量的圖例,也可以用于連續變量。
guides()函數將guide_colorbar和guide_legend兩種圖例嵌套進去,方便映射與處理,如guides(fill= guide_colorbar()),對多個圖例共同處理的時候尤為有效。另外,我們也可以在scale_×××()度量中指定guide類型,guide ="colorbar"或guide ="legend"。
其中,尤為重要的部分是圖例位置的設定,R ggplot2默認是將圖例放置在圖表的右邊("right"),但是我們在最后添加的theme()函數中,用legend.position設定圖例的位置。legend.position可以設定為"right"、"left"、"bottom"和"top"。
ggplot2繪圖過程中,控制圖例在圖中的位置利用theme(legend.position)參數,該參數對應的設置為:"none"(無圖例)、"left"(左邊)、"right"(右邊)、"bottom"(底部)、"top"(頭部),legend.position也可以用兩個元素構成的數值向量來控制,如c(0.9,0.7),主要是設置圖例在圖表中間所在的具體位置,而不是圖片的外圍。數值大小一般在0~1之間,超出數值往往導致圖例隱藏。如果圖例通過數值向量設定在圖表的具體位置,那么最好同時設定圖例背景(legend.background)為透明或者無的。圖1-6-23使用的是theme_classic()內置的圖表系統主題,使用theme()函數調整圖例的具體位置。圖1-6-23(a)所示圖例的默認設定語句為:

圖1-6-23 圖例位置的調整
theme(legend.background = element_rect(fill="white"), legend.position="right")
上述語句表示將圖例的背景設為白色填充的矩形,位置設定為圖表的右邊。圖1-6-23(b)將圖例的位置設定為圖表內部的左上角,并將圖例背景(legend.background)設置為無。其中c(0.2,0.8)表示圖例的位置放置在圖表內部X軸方向20%、Y軸方向80%的相對位置。
theme(legend.background = element_blank(), legend.position=c(0.2,0.8))