7

假设默认情况下我更喜欢geom_point使用圆圈 ( pch=1) 而不是实心点 ( 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)

但我不知道如何更改默认行为。

4

2 回答 2

14

Geom(和 stat)默认值可以直接更新:

update_geom_defaults("point", list(shape = 1))
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()

在此处输入图像描述

于 2013-01-07T21:38:18.263 回答
8

一种方法(虽然我不太喜欢)是创建自己的 geom_point 函数。例如

geom_point2 <- function(...) geom_point(shape = 1, ...)

然后照常使用:

ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point2()

或者,如果您愿意,可以覆盖该功能geom_point()

geom_point <- function(...) {
  ggplot2::geom_point(shape = 1, ...)
}

这可能被认为是不好的做法,但它确实有效。然后你不必改变你的绘图方式:

ggplot(diamonds, aes(depth, carat, colour=cut)) + geom_point()
于 2013-01-07T14:51:07.213 回答