在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的图例中设置最小/最大尺寸的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CMDIFramewndEx 中设置 m_wndClientArea 的最小尺寸?