R:如何更改ggplot中的配色方案(需要14种颜色)

时间:2015-12-08 19:46:28

标签: r graphics ggplot2

我使用以下代码使用ggplot创建绘图:

m = ggplot(derv, aes(x=Date, y=derv, colour = Season)) + geom_point() 
m2 = m+geom_abline(intercept = 0, slope = 0)
m3 = m2 + geom_abline(intercept = 2.578269274, slope = 0)
m3 = m3 + geom_abline(intercept = -1.4242559021, slope = 0) 

enter image description here

这个情节看起来很漂亮但是对于某些间隔,例如2010sp和2010au,我很难分辨出颜色何时发生变化。所以我想改变这个情节的配色方案。

我尝试了以下代码:

 m3+scale_color_brewer(palette="Dark2")

但我收到一条警告信息:

enter image description here

2: In RColorBrewer::brewer.pal(n, pal) :
n too large, allowed maximum for palette Dark2 is 8
Returning the palette you asked for with that many colors

我检查了可用的调色板,最大的调色板包含12种颜色,但我需要14种颜色,所以我想知道是否有办法解决这个问题。

1 个答案:

答案 0 :(得分:8)

如果您确实需要/需要的颜色多于调色板中给出的颜色,则可以连接两个不同的调色板,然后使用scale_color_manual。我无法重现你的例子,但希望这传达了一般观点:

mycolors = c(brewer.pal(name="Dark2", n = 8), brewer.pal(name="Paired", n = 6))

ggplot(derv, aes(x=Date, y=derv, colour = Season)) + 
  geom_point() +
  geom_abline(intercept = 0, slope = 0) + 
  geom_abline(intercept = 2.578269274, slope = 0) + 
  geom_abline(intercept = -1.4242559021, slope = 0) +
  scale_color_manual(values = mycolors)

顺便说一下,如果你能在下次提供一个简单且可重复的例子,那将会很棒。也许只需将您的数据的一部分和dput()放入问题中,或者通过运行与您的数据格式最相似的data()来使用您可以找到的数据集之一。