R 如何覆盖默认的ggplot';点和线的美学?

R 如何覆盖默认的ggplot';点和线的美学?,r,ggplot2,R,Ggplot2,我想更改一组GGPlot的点和线的默认颜色 当然,我可以定义一种颜色,然后在每个绘图中明确地称之为: my_colour <- "firebrick" ggplot(cars, aes(speed, dist)) + geom_line(colour = my_colour) 但它对绘图线没有影响,而且点也没有等价物。我看不到其他可能的元素 我可以通过破解内部GeomPath变量来强制重写,但这是一种糟糕的形式,因为我们不应该接触内部对象 gp <- ggplot2:::GeomP

我想更改一组GGPlot的点和线的默认颜色

当然,我可以定义一种颜色,然后在每个绘图中明确地称之为:

my_colour <- "firebrick"
ggplot(cars, aes(speed, dist)) + geom_line(colour = my_colour)
但它对绘图线没有影响,而且点也没有等价物。我看不到其他可能的元素

我可以通过破解内部
GeomPath
变量来强制重写,但这是一种糟糕的形式,因为我们不应该接触内部对象

gp <- ggplot2:::GeomPath
gp$default_aes <- function(.) 
{
  aes(colour = "firebrick", size = 0.5, linetype = 1, alpha = NA)
}
assignInNamespace("GeomPath", gp, "ggplot2")

gpHmm,线索就在这个问题上:
update\u geom\u defaults

update_geom_defaults("point", list(colour = "firebrick"))
我(最终)通过以下途径发现了这一点:

ls("package:ggplot2", pattern = "default")

@我也是!写下你的问题能让你找到答案,这真是不可思议。
ls("package:ggplot2", pattern = "default")