如何使用线符号回收色彩的调色板在ColorBrewer(How to recycle colours

2019-08-17 05:23发布

我使用GGPLOT2创造了不少facet_wrap PED geom_line情节。

虽然当一起每个小区只有一个最大的八条线,还有很多类似的20个大类上显示的传说。

与此类似这样的: 推荐一个规模颜色13个或多个类别和这样的: 在R,我如何更改只是一个价值的GGPLOT2的scale_fill_brewer颜色值? 我想人为起来的颜色数,我可以告诉使用在ColorBrewer的高对比度彩色套。

一个明显的方法,这样做似乎是“回收”调色板中的色彩,每次用不同的线符号。 因此,鲜红色的“X上线的可能是不同的类别较鲜艳的红色与” 0'等。

谁能想到我会如何做呢?

谢谢!

编辑

下面是一些(消毒)数据一起玩,和R代码里面我使用我的制作情节。

数据: http://orca.casa.ucl.ac.uk/~rob/Stack%20Overflow%20question/stack%20overflow%20colours%20question%20data.csv

R代码里面:

csvData <- read.csv("stack overflow colours question data.csv")
p <- ggplot(csvData, 
  aes(year, percentage_of_output, colour=category, group=category)) 
p + 
  geom_line(size=1.2)  + 
  labs(title = "Can I recycle the palette colours?", y = "% of output") +
  scale_colour_brewer(palette = "Set1") + 
  theme(plot.title = element_text(size = rel(1.5))) +
  facet_wrap("country_iso3", scales="free_y")

Answer 1:

含有20个级别(如字母)制成数据帧。

df<-data.frame(group=rep(c(LETTERS[1:20]),each=5),x=rep(1:5,times=20),y=1:100)

您可以使用scale_colour_manual()来设置颜色的线-例如,在我使用的五种SET1和重复他们四times (总数为20)。 然后设置形状加入geom_point()scale_shape_manual()和五个不同的形状和重复each他们的四倍(总数再次为20)。

library(RColorBrewer)
ggplot(df,aes(x,y,colour=group))+geom_line()+geom_point(aes(shape=group),size=5)+
  scale_colour_manual(values=rep(brewer.pal(5,"Set1"),times=4))+
  scale_shape_manual(values=rep(c(15,16,17,18,19),each=5))



文章来源: How to recycle colours in a colorbrewer palette using line symbols