Como reciclar cores em uma paleta de cores usando símbolos de linha

Eu estou usando ggplot2 para criar algunsfacet_wrappedgeom_line enredo.

Embora cada parcela tenha apenas um máximo de oito linhas, quando consideradas em conjunto, há mais de vinte categorias para mostrar na legenda.

De um modo semelhante a isto:Recomende uma cor de escala para 13 ou mais categorias e isto:Em R, como altero o valor de cor de apenas um valor no scale_fill_brewer de ggplot2? Eu gostaria de aumentar artificialmente o número de cores que eu posso mostrar usando os conjuntos de cores de alto contraste do colorbrewer.

Uma maneira óbvia de fazer isso parece ser "reciclar" as cores na paleta, com um símbolo de linha diferente a cada vez. Tão vermelho brilhante com 'x's na linha pode ser uma categoria diferente de vermelho brilhante com' o's etc.

Alguém pode pensar como eu poderia fazer isso?

Obrigado!

Editar

Aqui estão alguns dados (higienizados) para brincar, e o código R que estou usando para produzir o meu enredo.

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

Código 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")

questionAnswers(1)

yourAnswerToTheQuestion