我正在尝试使用基于值向量的不同大小的点的ggplot来绘制气泡图。它可以正常使用此代码
ggplot(example, aes(x=x, y=y)) +
geom_point(aes(size=size))
但是,样本大小图例仅显示尺寸谱较高端的两个值,即使在http://docs.ggplot2.org/current/geom_point.html的示例中,默认情况下显示4个点大小。我希望在图例中有更广泛的点尺寸。
我用
尝试了example$size_bin <- cut(example$size, breaks = c(0,1000,5000,10000,50000,100000,300000),
labels=c("0-1000","1000-5000","5000-10000","10000-50000","50000-100000",">100000"))
ggplot(example, aes(x=x, y=y)) +
geom_point(aes(size=size_bin))
但是因为这不是连续的比例,所以这不起作用。如何更改图例以便显示更多尺寸?
答案 0 :(得分:3)
在单独的breaks
规范中使用scale_size_continuous()
参数。来自?scale_size_continuous
:
休息:其中一个:
•没有休息的'NULL' •'waiver()'表示由转换对象计算的默认中断 •位置数字向量
的函数
•将限制作为输入并将中断作为输出
答案 1 :(得分:-1)
我只是在玩这个游戏,看来breaks
除非显示特殊内容,否则只会显示数据范围内的大小。 p+scale_size_continuous(breaks=c(50,100,200))
无法获得3分(分别为100和200)。我的最小尺寸值为94。
正如this answer所解释的那样,您可能还需要将limits
参数设置为更大的范围以涵盖更广的范围