2016-08-01 15 views
0

Ich habe einen R-Befehl wie folgt.R bedingte Grafik mit ggplot2

library(ggplot2) 
df <- read.csv(file="c:\\query.csv")) 
ggplot(df) +) 
    geom_point(aes(Time, Users)) +) 
    geom_point(data=df[df$Users>30,], aes(Time, Users),) 
      pch=21, fill=NA, size=4, colour="red", stroke=1) +) 
    theme_bw()) 


Die in obigen Befehl verwendete CSV-Datei hat Spalten wie Zeit, Benutzer, Verkäufer usw.

Time Users Sellers 
7 1  2 
7 2  4 
17 3  6 
19 4  8 
34 5  10 
35 6  12 
47 7  14 
63 7  18 
64 7  20 
80 7  22 
93 12  24 
94 13  26 

Meine Fragen sind wie folgt:
1) Wie zeichnen wir eine Linie Anfügen von Datenpunkten? Ich habe den obigen Befehl wie folgt aktualisiert und es ist fehlgeschlagen.

ggplot(df) + geom_point(aes(Time, Users)) + geom_point(data=df[df$Users>30,], aes(Time, Users),pch=21, fill=NA, size=4, colour="red", stroke=1) + 
    geom_line() + theme_bw() 

2) Wie füge ich eine andere grafische Darstellung für Verkäufer in der Zeit Vs Nutzer Graph? Ich habe das unten beschrieben. Aber ist Graph Ausgang nicht das, was ich erwartete

ggplot(df) + 
    geom_point(aes(Time, Users)) + 
    geom_point(data=df[df$Users>30,], aes(Time, Users),pch=21, fill=NA, size=4, colour="red", stroke=1) + geom_point(aes(Time, Sellers)) + 
    geom_point(data=df[df$Sellers>10,], aes(Time, Sellers), pch=21, fill=NA, size=4, colour="red", stroke=1) + 
    theme_bw() 
+0

Zwei Kommentare: Erstens, Sie haben zwei Probleme, das macht zwei Fragen und nicht eine. Zweitens, um ein reproduzierbares Beispiel zu haben, ist es immer hilfreich, wenn Sie 'dput (df)' ausführen und das Ergebnis zu Ihrer Frage hinzufügen. – Qaswed

+1

Was ist mit den schließenden Klammern am Ende der Zeilen ?! –

Antwort

2

Ad 1.) Den aes() Teil im gplot Teil:

ggplot(df, aes(Time, Users)) + 
geom_point() + geom_point(data = df[df$Users > 30,], pch = 21, fill = NA, size = 4, colour = "red", stroke = 1) + 
geom_line()+ 
theme_bw() 

Ad 2.) Sie können das gridExtra Paket verwenden (siehe: this question oder this one für einen anderen Ansatz).

p1 <- ggplot(df, aes(Time, Users)) + geom_point() + 
geom_point(data = df[df$Users > 10,], pch = 21, fill = NA, size = 4,colour = "red", stroke = 1)+ 
geom_line() + 
theme_bw() 

p2 <- ggplot(df, aes(Time, Sellers)) + geom_point() + 
geom_point(data = df[df$Sellers > 10,], pch = 21, fill = NA, size = 4, colour = "red", stroke = 1)+ 
geom_line()+ 
theme_bw() 

require("gridExtra") 
grid.arrange(p1, p1, ncol = 2) 
+0

Vielen Dank für die Beantwortung der Frage. Das hilft wirklich. –