2012-03-20 31 views
24

我有以下啞代碼:如何增加ggplot2中點的大小,類似於基地中的cex?

dt<-data.frame(country=letters[1:20],val=rnorm(20),siz=rnorm(20)) 
qplot(x=country,y=val,data=dt,geom="point",size=siz) 

現在我想增加點的相對大小,因爲所產生的最小點太小。這是可能通過更改一個參數來完成的,例如cex在基地中?

回答

26

你想scale_size()和它的(根據ggplot網站或to)參數range

qplot(x=country,y=val,data=dt,geom="point", size=siz) + 
    scale_size(range = c(2, 10)) 

撥弄range得到合適的最小/最大尺寸。

+0

對於我使用的ggplot2版本(0.8.9),參數是'to',而不是'range'。並且在幫助頁面中顯而易見。我怎麼錯過了,我不明白。 – mpiktas 2012-03-20 20:19:03

+1

你也在你的帖子中提到'to'。我的頭今天工作不正常。 – mpiktas 2012-03-20 20:20:32

+0

是的,我不確定我的工作站是否是最新的** ggplot2 ** - 明智的。 – 2012-03-20 20:22:23

16

是的。更改比例的範圍:

p <- qplot(x=country,y=val,data=dt,geom="point",size=siz) 
p + scale_size_continuous(range = c(3,8)) 

enter image description here

+0

感謝您的回答。我提高了兩個,但我只能接受一個。 – mpiktas 2012-03-20 20:19:51

+0

請問如何刪除右側的圖例? – Ida 2014-04-10 09:05:16

+0

(+1):很好的回答。使用'scale_size_continuous(range = range(dt $ siz))'會更合適。 – MYaseen208 2014-12-25 09:15:26

相關問題