【问题标题】:R colors - many distinctive colors that are still prettyR 颜色 - 许多独特的颜色仍然很漂亮
【发布时间】:2018-10-23 13:31:48
【问题描述】:

我很好奇你是否有一些关于 R 中颜色酿造的技巧,对于许多独特的颜色,以某种方式仍然好看。

我需要相当数量的独特颜色(至少 24 种,可能需要更多,约 50 种)用于堆叠区域图(所以不是热图,渐变颜色不起作用)。我遇到了 viridis,它有非常漂亮的调色板,也适用于色盲人士。不幸的是,那些没有足够的颜色在我的情节上仍然可以区分。

在 google 上花了一些时间之后,我也查看了其他包/调色板(这篇文章特别酷:How to generate a number of most distinctive colors in R?),但没有找到任何颜色足够而且看起来还不错的东西。

当需要 24 种以上的颜色时,如何使图表看起来更美观?

【问题讨论】:

  • 流行的调色板(如viridiscolorbrewer 调色板)不提供超过10 种颜色的定性调色板是有原因的。眼睛几乎不可能分辨出更多的颜色!所以我强烈建议不要使用 24+ 调色板。我也可以保证它不会“看起来不错”。相反,请考虑另一种表示数据的方式。您可以使用构面或其他图形美学来编码不同的特征。
  • 是的,这是有道理的。我正在处理图表,但它们上出现了相同的变量。我只是被建议不要为某些变量分配颜色,因为它们并没有真正显示在图表中(它们的值太少)。

标签: r ggplot2 colors color-palette stacked-area-chart


【解决方案1】:

您可以尝试randomcoloR(最多 40 种不同颜色)或pals(最多 26 种颜色)。

# k: number of colors (>= 1). May be ineffective for k > 40.
library(randomcoloR)
nColor <- 40
myColor <- randomcoloR::distinctColorPalette(k = 40)
pie(rep(1, nColor), col = myColor)

# https://cran.r-project.org/web/packages/pals/vignettes/pals_examples.html
library(pals)
labs = c('alphabet', 'alphabet2', 'glasbey', 'kelly', 'polychrome')
op = par(mar = c(0, 5, 3, 1))
pal.bands(alphabet(), alphabet2(), glasbey(), kelly(), polychrome(), 
          labels = labs, show.names = FALSE)

reprex package (v0.2.0) 于 2018 年 5 月 13 日创建。

猜你喜欢
  • 2013-03-05
  • 2013-02-23
  • 1970-01-01
  • 2021-11-23
  • 2010-10-20
  • 2013-03-26
  • 2016-10-17
  • 2013-12-07
相关资源
最近更新 更多