【问题标题】:How do I adapt my ggplot code in order to change the default colours used in the chart produced?如何调整我的 ggplot 代码以更改生成的图表中使用的默认颜色?
【发布时间】:2020-07-18 11:24:26
【问题描述】:

我不喜欢下面代码生成的图表中的颜色。

如何调整代码以更改图表中使用的颜色数组?

ggplot(Rating, aes(x = Function, y = Freq, fill = Rating)) + 
  ggtitle("Test")  + 
  labs(x="Function", y = "Rating") +
  geom_col() +
  theme_bw()

【问题讨论】:

  • 您好,杰德,欢迎来到 SO。如果您提供minimal, reproducible example,您肯定会吸引更多人来查看您的问题。您会在很多地方找到问题的解决方案,其中一个可能是here
  • 您可能会发现查看scale_fill_*() 函数很有用,例如scale_fill_distiller()

标签: r ggplot2 graph charts colors


【解决方案1】:

这是一个很笼统的问题,所以这里有很多答案。通常,您可以通过scale_*_** 函数之一更改绘图中使用的颜色,其中* 是美学(colorfill 等),** 是用于创建规模。其中包括:

  • manual 用于手动定义内容
  • brewer 使用预定义的Brewer color palettes 之一
  • discrete 用于离散比例
  • gradientgradient2gradientn 来定义颜色渐变(您给定一些颜色数量并创建渐变以应用于美学的连续变量)。
  • viridis 使用绿色鳞片。这里有离散版本和连续版本,因此您通常需要指定
  • 还有许多其他...例如distillerfermenter,以及RColorBrewer 附带的各种其他。

以下是一些示例,可帮助您入门。这是一个默认图:

p <- ggplot(mtcars, aes(x=factor(carb), y=mpg)) + geom_col(aes(fill=factor(carb)))
p

应用 Brewer 量表之一的示例

p + scale_fill_brewer(palette='Set1')

使用绿色鳞片的示例:

p + scale_fill_viridis_d()

使用手动定义比例的示例:请注意,您在此处指定使用 scale_fill_manual(values=...)。必须向values= 参数发送一个矢量或颜色列表,这些颜色至少与分配给fill= 美学的变量的级别数相同。您还可以传递一个命名向量来明确定义 哪个 颜色应用于各个因子级别。在这里,我只是向您展示彩虹的可爱颜色:

p + scale_fill_manual(values=rainbow(6))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 2021-12-04
    • 2011-05-21
    • 1970-01-01
    • 2011-04-11
    • 2021-11-03
    相关资源
    最近更新 更多