2017-03-21 6 views
1

Ich versuche, zwei Streulinien in ggplot zu zeichnen. Die x-Achse ist ganze Zahlen von 1 bis 10. Zunächst ich den folgenden Code geschrieben:X-Achse in ggplot2: Faktor

library(ggplot2) 
Answer <- c(1:10) 
EM = c(0.458,0.517,0.4,0.394,0.15,0.15,0.0,0.2,0.14,0.33) 
F1 = c(0.56,0.63,0.632,0.704,0.502,0.524,0.488,0.64,0.5,0.593) 
test_data <- data.frame(EM,F1,Answer) 

ggplot(test_data, aes(Answer)) + 
    geom_line(aes(y = EM, colour = "EM")) + 
    geom_line(aes(y = F1, colour = "F1")) 

enter image description here

Die x-Achse ist kontinuierlich hier und Druckwerte Daraus ergibt sich die folgende Handlung

wie 2.5 , 7.5. Um es Faktor 1,2,3,4, ..., 10 zu machen, habe ich versucht, aes(factor(Answer)) zu setzen, aber dies führt zu einer leeren Handlung. Wie kann ich das beheben?

+2

Neben den Antworten unten, kann prüfen Sie Ihre Daten zu lange Format neu zu gestalten, das heißt, eine Spalte für alle 'Y' Werte und eine zweite Spalte für die Variablen ('EM',' F1'), die für eine effiziente Arbeit mit 'ggplot2' bevorzugt wird. Dies würde auch das Problem lösen, dass Ihre Y-Achse jetzt mit "EM" gekennzeichnet ist, obwohl Sie Werte von zwei Variablen anzeigen. – Uwe

Antwort

4

Halten Sie Ihre Daten fortlaufend. Wenn Sie den Maßstab ändern möchten, genau das zu tun:

ggplot(test_data, aes(Answer)) + 
    geom_line(aes(y = EM, colour = "EM")) + 
    geom_line(aes(y = F1, colour = "F1")) + 
    scale_x_continuous(breaks = 1:10) 

resulting plot

Verwandte Themen