gpt4 book ai didi

r - 你如何覆盖点和线的默认 ggplot 美学?

转载 作者:行者123 更新时间:2023-12-01 11:37:51 26 4
gpt4 key购买 nike

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

当然,我可以定义一种颜色,然后在每个绘图中显式调用它:

my_colour <- "firebrick"
ggplot(cars, aes(speed, dist)) + geom_line(colour = my_colour)

我想偷懒,避免每次都输入这个。

应该有一个主题元素,我可以更新它来改变它。我认为这可能有效:

theme_update(
line = element_line(colour = "firebrick", size = 2, linetype = 1, lineend = "butt")
)

但它对情节线没有影响,并且没有对应的点。我在 help for themes 中看不到任何其他可能的元素.

我可以通过修改内部 GeomPath 变量来强制覆盖某些东西,但这是一种糟糕的形式,因为我们不应该触及内部对象。

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

更改点、线和其他几何体的默认美学的正确方法是什么?

最佳答案

嗯,线索就在问题中:update_geom_defaults

update_geom_defaults("point", list(colour = "firebrick"))

我(最终)通过以下方式找到了它:

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

关于r - 你如何覆盖点和线的默认 ggplot 美学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com