ich ein Grundstück mit diesen Datenrahmen machen wollen:R + ggplot: Plotten viele Variablen
val = c(27.9, 35.5, 28.2, 20.7, 9.3, 7.3, 9.2, 8.8, 14.2, 13.7, 12.4, 41.3, 31.8,
44.0, 28.0, 17.5, 6.1, 6.9, 5.7, 9.8, 8.8, 21.9, 13.7, 26.2, 22.8,
21.6, 15.2, 15.2, 3.4, 2.9, 4.2, 3.3, 8.1, 9.2, 8.5, 25.8, 34.1,
36.6, 28.1, 10.4, 3.9, 15.8, 24.9, 19.5, 21.8, 22.2, 19.1, 22.0)
df = data.frame(variable=rep(c('E1', 'E2'),
each=12,2),
value=val,
mes= rep(month.abb,4),
var=rep(c('orig', 'trat'), each=24))
str(df)
'data.frame': 48 obs. of 4 variables:
$ variable: Factor w/ 2 levels "E1","E2": 1 1 1 1 1 1 1 1 1 1 ...
$ value : num 27.9 35.5 28.2 20.7 9.3 7.3 9.2 8.8 14.2 13.7 ...
$ mes : Factor w/ 12 levels "Apr","Aug","Dec",..: 5 4 8 1 9 7 6 2 12 11 ...
$ var : Factor w/ 2 levels "orig","trat": 1 1 1 1 1 1 1 1 1
erkunden, habe ich diese Handlung:
ggplot(df,
aes(mes, value, group=variable, color=variable, shape=var)) +
scale_x_discrete(limits = month.abb) +
geom_point() + geom_line() +
theme(legend.position = 'bottom')
Die ggplot
Ausgang ist nicht das, was ich erwartet hatte aber wenn die ggplotly
Funktion übergeben wird, was ich beabsichtigt habe.
Außerdem, wenn ich die Option übergeben: ...aes(mes, value, group=variable, color=variable, shape=var, linetype=var)...
, um beide var Werte mit verschiedenen Linientypen zu trennen bekomme ich den Fehler: Fehler: geom_path: Wenn Sie gepunktete oder gestrichelte Linien verwenden, müssen Farbe, Größe und Linientyp sein konstant über die Linie.
Also, was passiert mit der Grafik ggplot? und wie sollte ich das Attribut linetype
in der ggplot-Funktion verwenden?
Bearbeiten. fausto.siegmund ‚s Antwort mir erlaubt, die var
Variablen mit verschiedenen Arten von Leitungen zu trennen:
ggplot(df,
aes(mes, value, group=interaction(variable,var), color=variable, linetype=var)) +
scale_x_discrete(limits = month.abb) +
geom_point() + geom_line() +
theme(legend.position = 'bottom')
Jetzt ist es besser aussieht. Es ist möglich, beide Faktoren auf einen Blick zu schätzen.
Vielen Dank fausto.siegmund!
Versuchen 'group = Interaktion (Variable, var)' im 'ggplot (...)' Sie auf dem Laufenden. Bewirkt dies das von Ihnen beabsichtigte Ergebnis? –
Es hat funktioniert. Setzen Sie es als die Antwort für mich, um es so zu markieren. – noriega