【问题标题】:R Beautiful Colors for n casesR 美丽的颜色,适用于 n 箱
【发布时间】:2016-01-20 07:12:56
【问题描述】:

假设您想在R 中绘制多个n 不同系列(使用plot()ggplot2lattice 并不重要。我将使用ggplot2为了简单起见),您如何选择一组漂亮的颜色(如可区分,但好看)。

我知道有多种方法,但我也想征求您的意见。

数据:

library(ggplot2) # for easy plots

n <- 10 # n cases for different numbers

set.seed(42)
dat <- data.frame(id = "A",
              group = 1:n,
              val = rnorm(n))

1。 GGplot标准:

优点:可扩展

缺点:在我看来不是很漂亮

ggplot(dat, aes(x = id, y = val, fill = as.factor(group))) + 
  geom_bar(stat = "identity", position = "dodge")

2。彩虹:

优点:可扩展,即没有最大颜色数

ggplot(dat, aes(x = id, y = val, fill = as.factor(group))) + 
  geom_bar(stat = "identity", position = "dodge") +
  scale_fill_manual(values = rainbow(n))

RColorBrewer

优点:多种不同的颜色设置

缺点:仅限于最多 12 种颜色

请参阅ColorBrewer2 了解所有套装。

ggplot(dat, aes(x = id, y = val, fill = as.factor(group))) + 
  geom_bar(stat = "identity", position = "dodge") +
  scale_fill_manual(values = brewer.pal(n, name = "BrBG")) # BrBG as an example

问题

当您的案例可能超过 10 个时,您如何设置绘图中的颜色?您在指定颜色时设置了什么标准?

如果您想添加您认为重要的因素,请随时编辑此帖子!

编辑:

与显示的图表相反,我处理的是时间序列,其中序列的颜色不包含任何信息,除了序列名称的标识

【问题讨论】:

  • 您受限于人脑分辨颜色的能力。超过 10 个将永远是一个问题。寻找一种不同的方法来可视化您的数据。
  • 也许 cran 上的 viridis 包很有用。有关文档,请参阅 here
  • RColorBrewer(网站和 R 包)非常适合这个!
  • 老实说,我选择的调色板通常基于我所在组织的调色板。只要我能在调色板中找到强烈的对比色,我就会尝试使用它们。但我尽量避免一次使用超过四种颜色,除非我有充分的理由。即使是四种颜色也会使某些图表难以解释。

标签: r plot colors ggplot2


【解决方案1】:

它可能不相关,但我几乎所有的事情都是手动完成的,使用这个网站: http://tools.medialab.sciences-po.fr/iwanthue/

理论选项卡很好地解释了所使用的方法。

【讨论】:

  • 请将此作为评论。
【解决方案2】:

我同意 Roland 的观点,超过 10 个是个问题。

我通常使用 R 默认值:黑色、红色、绿色、蓝色、青色、洋红色、黄色、灰色;那么我可以添加一个橙色、一个紫色和一个栗色......

但在你的情况下,因为你有条,你可以混合水平线、对角线和垂直线,加上颜色和宽度,这让你在选择这么多颜色时不那么头疼。

另外:如果您的 10 个因素不是线性的,请避免使用产生渐变的颜色,例如您的 RColorBrewer 示例。

Also2:你总是可以随机选择,直到找到你喜欢的东西,然后保存。

【讨论】:

    猜你喜欢
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    相关资源
    最近更新 更多