如何在ggplot的图例中显示更多的气泡尺寸?

时间:2016-07-13 15:52:40

标签: r ggplot2

我正在尝试使用基于值向量的不同大小的点的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))

但是因为这不是连续的比例,所以这不起作用。如何更改图例以便显示更多尺寸?

enter image description here

2 个答案:

答案 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参数设置为更大的范围以涵盖更广的范围