Ern*_*t A 6 default r ggplot2 aesthetics
假设我更喜欢默认geom_point使用circle(pch=1)而不是solid dots(pch=16).您可以通过传递shape参数来更改标记的形状geom_point,例如
ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point(shape=1)
ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point(shape=16)
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何更改默认行为.
Bri*_*ggs 13
Geom(和stat)默认值可以直接更新:
update_geom_defaults("point", list(shape = 1))
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

一种方法(虽然我不喜欢它)是制作自己的geom_point函数.例如
geom_point2 <- function(...) geom_point(shape = 1, ...)
Run Code Online (Sandbox Code Playgroud)
然后正常使用:
ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point2()
Run Code Online (Sandbox Code Playgroud)
或者如果你想要,你可以覆盖这个功能geom_point():
geom_point <- function(...) {
ggplot2::geom_point(shape = 1, ...)
}
Run Code Online (Sandbox Code Playgroud)
这可能被认为是不好的做法,但它确实有效.然后你不必改变你的绘图方式:
ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point()
Run Code Online (Sandbox Code Playgroud)