2013-01-13 22 views
7

Xin hãy giúp tôi với điểm này. Tôi cần các giá trị tích cực để được biểu diễn dưới dạng các điểm nhỏ và âm với các điểm lớn. Nếu băng của tôi trừ trước kích thước, kích thước điểm là đúng nhưng chú giải đang thay đổi:Làm cách nào để đảo ngược kích thước điểm trong 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)) 

sao cho không có bộ.

+0

thử 'last_plot() + scale_size (phạm vi = c (5,1)) + hướng dẫn (size = guide_legend (đảo ngược = TRUE)) ' – baptiste

Trả lời

10

Một giải pháp sẽ là sử dụng scale_size() và đặt breaks của riêng bạn và sau đó labels theo hướng ngược lại. Đã thay đổi phạm vi của các giá trị z để đại diện tốt hơn.

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

Rất cám ơn! Đây chính là điều tôi muốn. –

Các vấn đề liên quan