R颜色 - 很多独特的颜色,仍然很漂亮

7

我很好奇在R中有没有关于色彩设计的技巧,以便用许多不同的颜色呈现可视化效果仍然美观。

我需要一些独特的颜色(至少24种,可能需要更多,大约50种)来制作堆叠区域图(因此不是热力图,渐变颜色不能使用)。我发现viridis有非常漂亮的调色板,也适用于色盲人群。不幸的是,这些调色板的颜色不够多,无法在我的可视化中得到区分。

我在谷歌上花了些时间研究其他包/调色板(这篇文章特别酷:如何在R中生成最具特色的若干种颜色?),但没有找到足够多的颜色且���然看起来好看的解决方案。

当需要使用24种以上的颜色时,如何使图形更加美观呢?


6
为什么受欢迎的颜色调色板(如 viridiscolorbrewer 调色板)不提供超过 10 种颜色的定性颜色调色板呢?这是因为人眼几乎无法分辨更多的颜色!因此,我强烈建议不要使用超过 24 种颜色的调色板。我也可以保证它看起来不会“好看”。相反,考虑一种不同的方法来表示您的数据。您可以使用图形的外观或其他设计元素来编码不同的特征。 - Maurits Evers
也许以下帖子会对您有所帮助:如何在R中生成最具特色的颜色 - Maurits Evers
是的,这很有道理。我正在对图表进行分面处理,但是它们上面出现了相同的变量。我只是被建议不要为某些变量分配颜色,因为它们在图表中并没有真正显示出来(它们的值太小了)。 - Melinda
1个回答

6
你可以尝试使用 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包(v0.2.0)在2018年5月13日创建的。


相关链接:https://dev59.com/11MI5IYBdhLWcg3wDnKG#57157075 - Tung
https://dev59.com/tFoU5IYBdhLWcg3wamca#52812120 - Tung

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接