Eu tenho um gráfico que estou fazendo no ggplot2 para resumir os dados que são de um conjunto de dados com célula 2 x 4 x 3. Consegui fazer painéis para a variável de dois níveis usando facet_grid(. ~ Age)
e definindo os eixos x e y usando aes(x=4leveledVariable, y=DV)
. Eu costumava aes(group=3leveledvariable, lty=3leveledvariable)
produzir o enredo até agora. Isso me dá uma visualização em painéis pela variável de dois níveis, com o eixo X representando a variável de quatro níveis e as diferentes linhas plotadas nos painéis para a variável de três níveis. Mas a chave para a variável de três níveis é intitulada com o nome da variável de três níveis e eu quero que seja um título que tenha um espaço de caracteres. Como posso renomear o título da legenda?
Coisas que tentei que parecem não funcionar (onde abp
está o meu objeto ggplot2):
abp <- abp + opts(legend.title="Town Name")
abp <- abp + scale_fill_continuous("Town Name")
abp <- abp + opts(group="Town Name")
abp <- abp + opts(legend.title="Town Name")
Dados de exemplo:
ex.data <- data.frame(DV=rnorm(2*4*3), V2=rep(1:2,each=4*3), V4=rep(1:4,each=3), V3=1:3)
fonte
theme_get()
fornece a mesma referência no console.Respostas:
Outra opção é usar
Por exemplo, o exemplo de Chase seria semelhante a:
e produza a figura:
fonte
Você pode alterar o título da legenda modificando a escala dessa legenda. Aqui está um exemplo usando o conjunto de dados de CO2
EDITAR:
Usando os dados de exemplo acima, aqui está uma solução funcional. Eu acho que isso imita o enredo que o @drknexus está tentando criar. Como uma observação lateral, se alguém puder explicar por que temos que tratar a V3 como um fator para que ela seja mapeada para a lenda, eu agradeceria.
fonte
scale_colour_discrete()
e o código com o qual você está trabalhando é obviamente um pouco diferente. Eu não sei o que o código é ...scale_linetype_discrete
espera uma variável com valores discretos (fator ou caractere, deplyr::is.discrete
), verifique o código src no Github, j.mp/ejaRRT . Boa resposta (+1).