ggplot2 scale相關設置


 ggplot2   scale相關設置

標度設置:主要用於在ggplot畫圖后的各個圖層進行調整設置。

1、相關屬性scale設置

包括scale_size()、scale_alpha()、scale_shape()

由上面的名稱可以看出,這三個設置主要對ggplot的圖層屬性進行相關設置,包括尺寸、透明度和形狀。

 

以下列出該設置的主要參數:

scale_xxx(name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, range = c(1, 6),.....)

由上面參數可以看出,我們可以對該屬性進行,name命名,breaks設置組別,labels組別標簽,limits限定坐標軸范圍或組別排序,這幾個參數在大多數scale設置中基本上都會用到。range設置尺寸大小范圍,這個參數在其他設置中相對少見。

下面提供些例子作為參考:以R自帶的iris數據集作為樣本

library(ggplot2)
p<-ggplot(iris,aes(Sepal.Width,Sepal.Length,size=Petal.Width))
p+geom_point()

#標准情況下畫出來的散點圖

p+geom_point()+scale_size("花瓣寬度",limits=c(0.2,0.8))

#從下圖可以看到,圖例的名稱已經被更改,同時與上圖相比,這里只顯示了部分數據,圖中點的大小也被相應的放大,這是由於使用limits參數限定,使得限定范圍以外的數據會被丟棄。

  

 

p+geom_point()+scale_size("花瓣寬度",limits=c(0.2,0.8),range=c(1,3))

#在上圖的基礎上,修改range參數后,圖中的點的大小比例再一次進行了縮放,從兩圖對比可以看出limits設置是針對數據的范圍進行裁剪,而range設置純粹的針對點的大小。
#另外,值得注意的是scale_size()基本上只作用於散點圖,同時與之對應的還有一個scale_radius()是對點進行設置半徑,相比較而言scale_radius()基本上很少用到。
#最后scale_size諸多設置也可以用scale_size_area()進行設置。

  

 

#接下來,了解下scale_alpha()相關設置,基本上和scale_size()類似
p+geom_point()+scale_alpha("花瓣寬度",breaks=c(0.2,0.4,0.6,0.8))
#強行對透明度設置自定義分組

  

 

p+geom_point()+scale_alpha("花瓣寬度",breaks=c(0.2,0.4,0.6,0.8),
                           labels=c("很差","差","好","很好"))
#對每個分組標簽進行重新命名
#另外,scale_alpha()諸多設置也可以用scale_alpha_area()進行設置

  

 

 從以上的相關設置,可以基本了解以上三個scale設置過程,以及相關參數的作用。

最后,在提一點:scale_size()和scale_alpha() 在離散型和連續型數據中都可以用,而scale_shape則只能用於離散型數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM