【问题标题】:Setting min/max size in legend in ggplot在ggplot的图例中设置最小/最大尺寸
【发布时间】:2020-10-31 16:48:12
【问题描述】:

有没有办法确保 ggplot 中的尺寸美学图例始终以最小值和最大值开始和结束?

比如下面调用中的最小值:

p<-ggplot(mpg, aes(displ, hwy, size = hwy)) + geom_point()

(第一个示例 here)应该是 12。但它显示的最小圆圈大小对应于值 20。

我尝试添加:

p+scale_size_manual(values=c(min(mpg$hwy),median(mpg$hwy), max(mpg$hwy)), labels = c(as.character(min(mpg$hwy)),as.character(median(mpg$hwy)), as.character(max(mpg$hwy))))

但它会引发错误(即使我认为标签和值的格式正确)。我也试过了:

scale_size_continuous(range = c(min(mpg$hwy), max(mpg$hwy))

推荐here,但它使符号太大了。

有什么线索吗?谢谢!

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    你可以试试:

    p<-ggplot(mpg, aes(displ, hwy, size = factor(hwy))) + geom_point()
    

    【讨论】:

      【解决方案2】:

      您可以根据 hwy 的最小值和最大值设置中断;休息次数由您决定。 你没有得到最小值和最大值的原因,必然来自 ggplot 是它使过程自动化。

      
      
      library(ggplot2)
      
      
      ggplot(mpg, aes(displ, hwy, size = hwy)) + 
        geom_point()+
        scale_size_continuous(breaks = seq(range(mpg$hwy)[1], range(mpg$hwy)[2], length.out = 5))
      

      reprex package (v0.3.0) 于 2020-07-10 创建

      【讨论】:

      • 是的 - 这是完美的。非常感谢!
      猜你喜欢
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      • 2013-04-30
      • 1970-01-01
      • 2022-08-04
      • 2022-01-18
      • 1970-01-01
      相关资源
      最近更新 更多