2017-05-01 1 views
1

Je veux créer un graphe linéaire dans ggplot2 qui contient différents types de lignes.Différents types de lignes dans un graphe ggplot

Je l'ai essayé comme ceci:

library(ggplot2) 
library(tidyr) 

head(a) 
a <- read.table(text = "m  A B C 
1 Okt 9.250 14.75475 5.94375 
2 Nov 10.343 16.21625 7.88050 
3 Dez 14.885 25.81775 10.13550 
4 Jan 15.566 25.17125 11.70950 
5 Feb 15.619 22.53175 11.80400", header = TRUE) 
a$m <- factor(a$m, levels = c("Okt", "Nov", "Dez", "Jan", "Feb")) 

xy <- gather(a, key = variable, value = value, -m) 

ggplot(xy, aes(x = m, y = value, color = variable)) + 
    geom_line(aes(linetype=variable)) 

Mais l'intrigue ne montre pas de lignes du tout. Je voudrais que la ligne A soit une ligne pleine et que les lignes pointillées B et C.

Répondre

0

Vous devez définir group = variable dans votre aes:

ggplot(xy, aes(x = m, y = value, color = variable, group = variable)) + 
    geom_line(aes(linetype=variable)) 

Cela est nécessaire parce que votre m axe x est un facteur, et non une variable continue, ce qui signifie geom_line ne sait pas les connecter.

+0

parfait, merci !! –