假设你想在n
中绘制一些R
个不同的系列(如果你使用plot()
,ggplot2
或{那么这并不重要{1}}。为了简单起见,我会使用lattice
,你如何选择一组漂亮的颜色(如可区分,但外观漂亮)。
我知道有多种方法,但我也希望得到你的意见。
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))
优点:可扩展,即没有最大数量的颜色
ggplot(dat, aes(x = id, y = val, fill = as.factor(group))) +
geom_bar(stat = "identity", position = "dodge")
优点:各种不同的颜色集
缺点:仅限于最多12种颜色
请参阅ColorBrewer2了解所有集。
ggplot(dat, aes(x = id, y = val, fill = as.factor(group))) +
geom_bar(stat = "identity", position = "dodge") +
scale_fill_manual(values = rainbow(n))
当您有超过10个案例时,如何设置绘图中的颜色?指定颜色时设置了什么标准?
如果您想添加您认为重要的因素,请随时编辑此帖子!
与显示的图表相反,我处理时间序列,系列的颜色不包含任何信息,除了系列名称的识别
答案 0 :(得分:2)
它可能不相关,但我使用此站点手动执行几乎所有操作: http://tools.medialab.sciences-po.fr/iwanthue/
理论选项卡很好地解释了所使用的方法。
答案 1 :(得分:2)
我同意罗兰的观点,认为10多个是一个问题。
我通常使用R默认值:黑色,红色,绿色,蓝色,青色,品红色,黄色,灰色;然后我可以添加橙色,紫色和栗色......
但在你的情况下,由于你有条形,你可以混合水平,对角和垂直线条,加上颜色和宽度,这样可以减少选择这么多颜色的麻烦。
另外:如果您的10个因子不是线性的,请避免使用产生渐变的颜色,例如RColorBrewer示例。
另外2:你可以随意随意,直到找到你喜欢的东西,然后保存。