ggplot: Manuelles Hinzufügen von Legenden für Ästhetik, die nicht zugeordnet sind
Ich möchte ein mit Punkten überlagertes Balkendiagramm erstellen, in dem beide unterschiedliche Legenden haben. Außerdem möchte ich die Farbe der Balken und die Größe der Punkte mithilfe der Argumente außerhalb von @ auswähleaes()
. Da beide nicht zugeordnet sind, wird keine Legende erzeugt.
1) Wie kann ich eine Legende sowohl für die Füllung als auch für die Größe manuell hinzufügen?
library(ggplot2)
d <- data.frame(group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5)
Das habe ich mir ausgedacht: Ich habe Dummy-Mappings verwendet und die Legende anschließend an meine Bedürfnisse angepasst. Aber dieser Ansatz erscheint mir ungeschickt.
2) Gibt es eine manuelle Möglichkeit zu sagen: Fügen Sie eine Legende mit diesem Titel, diesen Formen, diesen Farben usw. hinz
d <- data.frame(dummy1="d1",
dummy2="d2",
group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop, fill=dummy1, size=dummy2)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5) +
scale_fill_discrete(name="fill legend", label="fill label") +
scale_size_discrete(name="size legend", label="size label")
Über ich kartiertfill
zudummy1
. Also würde ich @ erwartscale_fill_discrete
, um diese Legende zu ändern. Aber es scheint, das @ zu ändesize
Legende statt.
3) Ich bin mir nicht sicher, was hier schief gelaufen ist. Irgendwelche Ideen