如何使用线条符号回收colorbrewer调色板中的颜色

如何使用线条符号回收colorbrewer调色板中的颜色,r,ggplot2,colorbrewer,R,Ggplot2,Colorbrewer,我正在使用ggplot2创建许多facet\u wrappedgeom\u lineplot 虽然每个情节最多只有八行,但如果把它们放在一起,图例上会显示更多的类别 与此类似: 这是: 我想用colorbrewer的高对比度彩色套装人为地增加我能展示的颜色数量 一个明显的方法是“循环”调色板中的颜色,每次使用不同的线条符号。因此,线条上带有“x”的鲜红色可能与带有“o”等的鲜红色不同 谁能想到我该怎么做 谢谢 编辑 这里有一些(经过净化的)数据,还有我用来生成绘图的R代码 数据: R代码: cs

我正在使用ggplot2创建许多
facet\u wrap
ped
geom\u line
plot

虽然每个情节最多只有八行,但如果把它们放在一起,图例上会显示更多的类别

与此类似: 这是: 我想用colorbrewer的高对比度彩色套装人为地增加我能展示的颜色数量

一个明显的方法是“循环”调色板中的颜色,每次使用不同的线条符号。因此,线条上带有“x”的鲜红色可能与带有“o”等的鲜红色不同

谁能想到我该怎么做

谢谢

编辑 这里有一些(经过净化的)数据,还有我用来生成绘图的R代码

数据:

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")

csvData制作的数据框包含20个级别(字母)


您能更详细地解释一下要映射到颜色+线条样式的属性吗?如果有一些数据也可以使用,那就太好了。是的。当然接下来是一个可复制的例子……就是这样!一个完美的解决方案。非常感谢。如何为这样的组合图例添加标签?@user4786271检查,至少列出了两个选项。
df<-data.frame(group=rep(c(LETTERS[1:20]),each=5),x=rep(1:5,times=20),y=1:100)
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))