【发布时间】:2012-07-15 17:59:14
【问题描述】:
在 ggplot2 中摆弄点大小选项后,我注意到在 geom_point() 的 aes() 参数内部和外部传递大小的示例。来自`geom_point() page on Hadley's site:
p <- ggplot(mtcars, aes(wt, mpg))
# passed inside
p + geom_point(aes(size = qsec))
p + geom_point(aes(size = qsec)) + scale_area()
# passed outside
p + geom_point(colour = "red", size = 3)
p + geom_point(colour = "grey50", size = 4)
我发现当涉及到图例时,它们的行为有所不同。当通过aes() 内部时,我可以看到一个图例,尽管我需要设置中断,即使我只有两个不同大小的点;否则,即使只使用了 2 个,我也会得到 5 个点大小的范围。
此外,传递的尺寸没有意义。我需要使用range=c(min,max) 指定相对大小,并将中断设置为两个大小,而不是默认的五个。
如果我通过aes() 之外的尺寸,尺寸似乎很荣幸,但我无法在我的情节上获得图例;我尝试了scale_size、scale_size_continuous 和scale_size_manual,但均未成功。
在geom_point() 页面上是这样的:
geom_point 可以使用以下美学。美学是 用aes函数映射到数据中的变量:
geom_point(aes(x = var))...
尺度控制变量如何映射到美学并在每个美学之后列出。
[此处列出所有美学选项(形状、颜色、大小等)]
由此,尚不清楚aes() 内部和外部的选项(此问题中的大小,但这对其他美学应该有意义)如何影响结果。
【问题讨论】: