plotten Ich habe zwei Datensätze, die ich auf einem Diagramm in ggplot2 unter r überlagert anzeigen möchte. Datensatz 1 muss als gruppierte Gruppe von Balken angezeigt werden (1 Gruppe pro Land - es gibt einige Länder im Datensatz). Datensatz 2 muss als eine Reihe von farbigen horizontalen Linien über die Balken angezeigt werden. Beachten Sie, dass die Länge der beiden Datensätze unterschiedlich ist. Ich habe unten einen Code, der veranschaulicht, was ich versuche zu tun (entworfen durch den Rat von anderen).Wie eine zweite Legende in ggplot2 in r
library(ggplot2)
chart1_data <- data.frame(year=c("1998","1998","1998","1998","1998","1998","1998","1998","1998"), medicine=c("Fent","Meth","Morph","Fent","Meth","Morph","Fent","Meth","Morph"), entity=c("Italy","Italy","Italy","Norway","Norway","Norway","Portugal","Portugal","Portugal"), usage=c(3.01,9.32,2.01,1.24,1.43,28.48,5.01,5.51,41.82))
chart1_means <- data.frame(label=c("Global Fent","EURO Fent","Global Meth","EURO meth","Global Morph","EURO Morph"), value=c(0.03, 0.07, 1.59, 5.12, 3.28, 8.54))
means_labels = chart1_means$label
colors = rainbow(length(means_labels))
ggplot(data=chart1_data, aes(x=entity, y=usage, fill=medicine)) +
geom_bar(stat="identity", position=position_dodge(), show.legend=TRUE) +
geom_hline(data=chart1_means, aes(yintercept=value), color=colors) +
scale_fill_manual("means", values=colors, guide=guide_legend(override.aes = list(colors)))
Die Schwierigkeit, die ich in renne, ist, dass ich zwei Legenden brauche; eine für die Bars und eine für die Linien. Alle meine bisherigen Versuche ergeben eine Legende, bei der Teile jedes Datensatzes bis zu einem gewissen Grad vermischt sind. Beachten Sie zum Beispiel in der folgenden Tabelle die einzelne Legende mit falschem Titel und nichts über Linien.
Hat jemand eine Empfehlung, wie ich erreichen kann, was ich will? Alle Hinweise geschätzt.
Fragen darüber, wie R verwenden (ggplot2) gehören auf [SO], hier nicht. Wenn Sie ein wenig warten, werden wir dies für Sie migrieren. – gung
Wow, glaube nicht, dass ich jemals jemanden gesehen habe, der die Standard-Farben von ggplot durch einen Aufruf von 'rainbow' überschrieben hat. Das ist intensiv. – Gregor
können Sie die Farbe innerhalb 'aes' abbilden – rawr