gpt4 book ai didi

r - 在现有的ggplots中将颜色更改为黑色

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

这是一个关于 ggplot2 包的问题(作者:Hadley Wickham)。我有 现有的 ggplot 对象 具有不同的颜色(resp 形状、线型、填充...),我想映射到单一颜色,例如黑色的。推荐的方法是什么?

澄清:我必须使用这些 ggplot 对象:我无法重新制作它们

将变量分组为因子的 ggplot:这是我需要使用的绘图对象 p

p <- ggplot(mtcars, aes(x = mpg, y = wt, group = factor(cyl), colour = factor(cyl))) + 
geom_point(size = 5)

enter image description here

我知道的几种方法:

1。 scale_colour_grey 破解

p + scale_colour_grey(start = 0, end = 0) + # gives correct, useless legend
guides(color = FALSE)

较短的p + scale_colour_grey(0,0) 不起作用,您必须明确startend

2。 scale_colour_manualrep() hack

p + scale_colour_manual(values = rep("black",3)) # gives correct, useless legend

更简单的 scale_colour_manual(values = "black") 不起作用。这可能是最直观的方法。必须指定向量的长度会降低它的吸引力。

3。 geom_point() 召回

p + geom_point(colour = "black") + # gives incorrect legend
guides(color = FALSE)

enter image description here

有据可查的是,以下是不允许的:

 p + scale_colour_manual(colour = "black")
Error in discrete_scale(aesthetic, "manual", pal, ...) :
unused argument (colour = "black")

最佳答案

直接删除颜色映射似乎有效:

p_bw = p
p_bw$mapping$colour = NULL
gridExtra::grid.arrange(p, p_bw)

enter image description here

关于r - 在现有的ggplots中将颜色更改为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077122/

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