r - 当绘图中使用超过 3 种颜色时,图例中的 geom_smooth 着色会产生误导

标签 r ggplot2

请考虑以下事项

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)

返回

enter image description here
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")))

enter image description here

关于r - 当绘图中使用超过 3 种颜色时,图例中的 geom_smooth 着色会产生误导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37154559/

相关文章:

r - ggplot2调色板图例不显示

r - 用ggplot2在R中绘制生存曲线

user-interface - R 脚本 : Determine whether the script is run in the GUI or from command line

R - 来自覆盖国家边界的栅格数据集的等高线图

r - 'match.arg()' 函数内部的 'outer()' 有问题

r - 当某些模型的某些组为空时,使用 purrr 的映射按组估计线性回归

r - loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : there is no package called 'stringi' 中的错误

r - ggplot barplot中y轴的顺序错误

删除或隐藏 R ggplot2/factoextra 图上的零线

r - 使用 rmongodb 和 plyr 将大型 MongoDB 集合传输到 R 中的 data.frame