Home Articles

gesplot2中aes()及其外部传递选项的区别

Asked
Viewed 1111 times
5

在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个 .

而且,通过的尺寸不可理解;我需要使用 range=c(min,max) 指定相对大小,并将中断设置为仅两个大小而不是默认值5 .

如果我超越 aes() 的尺寸,尺寸似乎很荣幸,但我无法在我的情节中得到一个传奇;我试了 scale_sizescale_size_continuousscale_size_manual 没有成功 .

geom_point() 页面可以看到:

以下美学可与geom_point一起使用 . 使用aes函数将美学映射到数据中的变量:geom_point(aes(x = var))... Scales控制变量如何映射到美学并在每个美学之后列出 . [此处列出所有美学选项(形状,颜色,大小等)]

从那以后,仍然不完全清楚 aes() 内部和外部的选项(这个问题中的大小,但这应该对其他美学有意义)如何影响结果 .

1 Answer

  • 8

    aes 中指定时,美学将映射到数据中变量的值 . 由于数据和可见美学之间存在映射,因此有一个图例显示了映射 . 在 aes 电话之外,审美只是设定为特定值 . 在您显示的示例中,大小(和颜色)设置为所有点的相同值 . 在这种情况下,不需要图例,因为尺寸(或颜色)不传达任何含义(关于底层数据) .

    您在图例中看到的问题是由于大小被映射到连续变量 . 碰巧这个变量在数据中只有两个值,但原则上,连续变量可以采用任何值 . 如果它真的只是一个选择变量的两个变量,那就把它作为一个因素(无论是在原始数据中还是在审美调用中都是如此 . )1818196_ .

Related