请帮我解决这一点。我需要将正值表示为小点,将负值表示为大点。如果我在尺寸前减去负号,则点尺寸是正确的,但图例正在更改:
df=data.frame(x=rnorm(20),y=runif(20),z=rnorm(20))
ggplot(df,aes(x=x,y=y))+geom_point(aes(size=-z))
因此不适合。
最佳答案
一种解决方案是使用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))
关于r - 如何在ggplot中反转点大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307205/