gpt4 book ai didi

r - 仅将Geom默认外观更改为主题组件的一部分

转载 作者:行者123 更新时间:2023-12-04 03:35:44 24 4
gpt4 key购买 nike

对于自定义的ggplot2主题,我想更改某些geom的默认美感,例如说我想要红色点而不是黑色点。

this answer中,我知道我们可以使用geom函数更改update_geom_default的默认值,但我想知道是否只有在调用theme_red_dots时才可以更改颜色?

我天真尝试的示例:

library(ggplot2)

theme_red_dots <- function(...) {
update_geom_defaults("point", list(colour = "red"))
theme_minimal() +
theme(...)
}

在这里看起来不错:
ggplot(mtcars, aes(mpg, disp)) + 
geom_point() +
theme_red_dots()

enter image description here

但是我想在我打电话时再把点变成黑色
ggplot(mtcars, aes(mpg, disp)) + 
geom_point()

enter image description here

提前致谢!

下面是一个为什么我认为这可能有用的示例。我们可以很容易地将 panel.background更改为黑色,但是如果我们不将美感映射到颜色,则这将使看不见这些点成为可能。 (可以肯定地讨论此 theme_black的有用性,但我想避免对此争论不休。)
theme_black <- function(...) {
theme_minimal() +
theme(panel.background = element_rect(fill = "black")) +
theme(...)
}

# update_geom_defaults("point", list(colour = "black"))
ggplot(mtcars, aes(mpg, disp)) +
geom_point() +
theme_black()

enter image description here

更改 geom_point()内点的颜色是这里的一个选项(请参阅@ zx8754答案),但这需要 theme_black()的用户进行更改,而我想知道是否可以在 theme_*内进行此操作。

最佳答案

发行版本的 ggplot2 当前不提供执行此操作的方法。但是,这是a fairly old feature request,自2018年夏季以来一直是under development

关于r - 仅将Geom默认外观更改为主题组件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106740/

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