2013-01-13 23 views
7

請幫助我這一點。我需要將積極的價值觀表現爲小點,並將積極的觀點視爲大點。如果我用膠帶減去大小之前,點尺寸是正確的,但傳說是改變:如何在ggplot中反轉點的大小?

df=data.frame(x=rnorm(20),y=runif(20),z=rnorm(20)) 
ggplot(df,aes(x=x,y=y))+geom_point(aes(size=-z)) 

使不適合。

+0

嘗試'last_plot()+ scale_size(範圍= C(5,1))+導遊(大小= guide_legend(反向= TRUE)) ' – baptiste

回答

10

一種解決方案是使用scale_size()並設置您自己的breaks,然後在相反的方向上設置labels。更改z值的範圍以獲得更好的表示。

df=data.frame(x=rnorm(20),y=runif(20),z=(-13:6)) 
ggplot(df,aes(x=x,y=y))+geom_point(aes(size=-z))+ 
    scale_size("New legend",breaks=c(-10,-5,0,5,10),labels=c(10,5,0,-5,-10)) 

enter image description here

+0

非常感謝!這正是我想要的。 –