这是一个关于 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)
我知道的几种方法:
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)
不起作用,您必须明确start
和end
。
2。 scale_colour_manual
与 rep()
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)
有据可查的是,以下是不允许的:
p + scale_colour_manual(colour = "black")
Error in discrete_scale(aesthetic, "manual", pal, ...) :
unused argument (colour = "black")
最佳答案
关于r - 在现有的ggplots中将颜色更改为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077122/