请考虑以下事项
set.seed(28100)
random_data <- data.frame(x=rnorm(100),
y=rnorm(100),
colour=sample(c("a","b","c"), 100, replace=TRUE),
class=sample(c("alpha","beta"), 100, replace=TRUE))
require(ggplot2)
ggplot() +
geom_smooth(data=random_data, aes(x=x, y=y, colour=colour, linetype=class), se=FALSE)
返回
class
图例中线条的颜色具有误导性,因为蓝色 - geom_smooth
的默认颜色- 也用于映射属性 c
.如何为
geom_smooth
设置默认颜色到中性色——比如说——灰色?
最佳答案
您可以使用 guide
覆盖在像这样的尺度函数中。在这里,我把它变成灰色
ggplot() +
geom_smooth(data=random_data, aes(x=x, y=y, colour=colour, linetype=class), se=FALSE) +
scale_linetype_manual(values=c("solid","dashed")
,guide = guide_legend(override.aes = list(color = "grey")))
关于r - 当绘图中使用超过 3 种颜色时,图例中的 geom_smooth 着色会产生误导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37154559/