在ggplot的图例中设置最小/最大尺寸

Posted

技术标签:

【中文标题】在ggplot的图例中设置最小/最大尺寸【英文标题】:Setting min/max size in legend in 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,但它使符号太大了。

有什么线索吗?谢谢!

【问题讨论】:

【参考方案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 创建

【讨论】:

是的 - 这是完美的。非常感谢!

以上是关于在ggplot的图例中设置最小/最大尺寸的主要内容,如果未能解决你的问题,请参考以下文章

使用文本标记最小和最大刻度填充渐变图例:ggplot2

如何在 CMDIFramewndEx 中设置 m_wndClientArea 的最小尺寸?

在 React 本机应用程序中设置文本的最大大小

如何在 Android DatePicker 中设置最小和最大日期?

按面板右侧微调ggplot大小和图例位置

如何在 JDateChooser 中设置最小值和最大值?