R ggplot:颜色和填充参数

2exbekwf  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(197)

我是R新手,刚开始学习ggplot。我对语法很困惑,我认为“color”和“fill”参数应该总是跟在颜色名称或RGB规范后面。但是我看到过很多情况,aes()中的“color”和“fill”是用变量赋值的,见下面的例子。

ggplot(faithfuld, aes(waiting, eruptions)) +
  geom_raster(aes(fill = density))

我在[R documentation][1]中找不到这种用法的解释。它是什么意思?按因子/分组着色?如果填充和颜色是用变量指定的,那么颜色应该在哪里指定?在scale_colour_manual中?
另外,我注意到如果在aes()中指定颜色和/或透明度,指定的颜色或透明度将不会实现。例如,在下面的代码中,alpha = 0.3不起作用,我可以将alpha更改为任何值,并且在绘图时透明度将始终为0.5。这是为什么呢?
另外,我注意到如果我删除了aex()中的fill或alpha,下面的“scale_fill_manual”将不起作用,那么“scale_fill_manual”依赖于geom_xx()是真的吗?

p <- ggplot(dfcc) + geom_ribbon(aes(x = yr, ymax = ciupper, ymin = cilower, fill = "", alpha = 0.3)) +
  scale_fill_manual(values = "blue", labels = "CI95%")

抱歉问了这么多问题,我只是太困惑了,任何帮助都将不胜感激![1]:https://search.r-project.org/CRAN/refmans/ggplot2/html/aes_colour_fill_alpha.html

4urapxun

4urapxun1#

您可以通过将图中的美观性Map到数据集中的变量来传达有关数据的信息。
如果您有时间,请阅读R for Data ScienceChapter 3,它可能会回答您的问题。作为示例,请查看并观察这3组代码及其输出之间的差异:

1.使用Red作为颜色:
iris |> 
  ggplot(aes(x = Sepal.Length, y = Sepal.Width)) +
  geom_point(color = "red") +
  theme_minimal() +
  theme(panel.grid = element_blank())

您将获得:

2.使用Species作为颜色:
iris |> 
  ggplot(aes(x = Sepal.Length, y = Sepal.Width)) +
  geom_point(aes(color = Species)) +
  theme_minimal() +
  theme(panel.grid = element_blank())

您将获得:

3.使用您选择的颜色修改Species
iris |> 
  ggplot(aes(x = Sepal.Length, y = Sepal.Width)) +
  geom_point(aes(color = Species)) +
  theme_minimal() +
  theme(panel.grid = element_blank()) +
  scale_color_manual(values = c("red", "yellow", "purple"))

您将获得:

希望这是有帮助的。

相关问题