ggplot2 fügt farbige Formen über farbigen Linien hinzu und kombiniert beide zu einer Legende

2
Dave 2020-02-08 08:39.

Ich habe das folgende Diagramm in ggplot2 erhalten, und es ist fast genau das, was ich will. Das einzige Detail, das ich ändern möchte, ist, verschiedene Formen auf die Linien zu setzen, nur für den Fall, dass jemand farbenblind ist und nicht in der Lage ist, die beiden Farben zu unterscheiden, die ich letztendlich wähle.

library(ggplot2)
color1 = "red"
color2 = "blue"
DF1.grp1 <- data.frame(X=c(5,10,15,20,25,30),
Y=c(1,2,3,4,5,6),grp=rep("grp1",6)) 
DF1.grp2 <- data.frame(X=c(5,10,15,20,25,30),
Y=c(2,3,4,4,5,9),grp=rep("grp2",6))
DF1 <- rbind(DF1.grp1,DF1.grp2)
ggplot(shape=DF1$grp) + #
geom_line(data=DF1,aes(x=X,y=Y,color=grp),size=1)+
geom_point(data=DF1,aes(x=X,y=Y,color=grp),size=3)+
xlab("x variable") + 
ylab("y variable") + 
scale_colour_manual(values=c(color1,color2)) + 
labs(color="") +
geom_density(alpha = 0.5) + theme_bw()+theme(legend.position="bottom")

geom_pointIch habe versucht shape=grp, in die Linie aufzunehmen, und das gibt mir unterschiedliche Formen auf jeder Linie und in der richtigen Farbe. Die Legende gibt die Farben und Formen jedoch separat an und setzt die Formen in Schwarz.

library(ggplot2)
color1 = "red"
color2 = "blue"
DF1.grp1 <- data.frame(X=c(5,10,15,20,25,30),
Y=c(1,2,3,4,5,6),grp=rep("grp1",6)) 
DF1.grp2 <- data.frame(X=c(5,10,15,20,25,30),
Y=c(2,3,4,4,5,9),grp=rep("grp2",6))
DF1 <- rbind(DF1.grp1,DF1.grp2)
ggplot(shape=DF1$grp) + #
geom_line(data=DF1,aes(x=X,y=Y,color=grp),size=1)+
geom_point(data=DF1,aes(x=X,y=Y,color=grp,shape=grp),size=3)+
xlab("x variable") + 
ylab("y variable") + 
scale_colour_manual(values=c(color1,color2)) + 
labs(color="") +
geom_density(alpha = 0.5) + theme_bw()+theme(legend.position="bottom")

Die ideale Handlung für mich wäre, das erste Bild zu ändern, indem ich einfach ein blaues Dreieck auf den blauen Teil der Legende und einen roten Kreis auf den roten Teil der Legende setze und die dort vorhandenen Kreise ersetze.

Was wäre die angemessene Änderung an meinem ersten Codeblock, um dies zu erreichen?

2 answers

2
Kent Johnson 2020-02-08 09:02.

Damit Legenden kombiniert werden können, müssen sie denselben Titel haben. Setzen Sie in Ihrem zweiten Beispiel beide Titel auf ""mit labs(color="", shape="")und Sie erhalten eine einzelne Legende mit überzeichnetem Symbol und Linie.

2
MarBlo 2020-02-08 08:57.

Hier ist eine einfache Lösung

library(ggplot2)

DF1.grp1 <- data.frame(X=c(5,10,15,20,25,30),
                       Y=c(1,2,3,4,5,6),grp=rep("grp1",6)) 
DF1.grp2 <- data.frame(X=c(5,10,15,20,25,30),
                       Y=c(2,3,4,4,5,9),grp=rep("grp2",6))
DF1 <- rbind(DF1.grp1,DF1.grp2)

ggplot(DF1, aes(X, Y, color = grp, shape = grp)) +
  geom_point() +
  geom_line() +
  scale_colour_manual(values=c('red','blue'))+
  scale_shape_manual(values = c(24,25))+
  theme_bw()+theme(legend.position="bottom")

Erstellt am 2020-02-07 durch das reprex-Paket (v0.3.0)


Auf Ihre erweiterte Frage

Die Formen, die ich verwendet habe, sind bereits solche, die gefüllt werden können. Wenn Sie die Ästhetik in das Individuum geomseinbringen, haben Sie die Möglichkeit, sie individuell zu ändern. Das habe ich im folgenden Code getan und anstelle von Farbe Füllung verwendet . Die Legende eines bestimmten kann durch in der ausgeschaltet werden .geomguide = 'none'scale_

library(ggplot2)

DF1.grp1 <- data.frame(X=c(5,10,15,20,25,30),
                       Y=c(1,2,3,4,5,6),grp=rep("grp1",6)) 
DF1.grp2 <- data.frame(X=c(5,10,15,20,25,30),
                       Y=c(2,3,4,4,5,9),grp=rep("grp2",6))
DF1 <- rbind(DF1.grp1,DF1.grp2)

ggplot(DF1, aes(X, Y)) +
  geom_point(aes(fill = grp, shape = grp)) +
  geom_line(aes(color = grp)) +
  scale_colour_manual(values=c('red','blue'), guide = 'none')+
  scale_shape_manual(values = c(24,25))+
  theme_bw()+theme(legend.position="bottom") 

Erstellt am 08.02.2020 durch das reprex-Paket (v0.3.0)

Auf Ihre weitere erweiterte Frage

library(ggplot2)

DF1.grp1 <- data.frame(X=c(5,10,15,20,25,30),
                       Y=c(1,2,3,4,5,6),grp=rep("grp1",6)) 
DF1.grp2 <- data.frame(X=c(5,10,15,20,25,30),
                       Y=c(2,3,4,4,5,9),grp=rep("grp2",6))
DF1 <- rbind(DF1.grp1,DF1.grp2)

ggplot(DF1, aes(X, Y)) +
  geom_point(aes(fill = grp, shape = grp), stroke =0, size =5) +
  geom_line(aes(color = grp)) +
  scale_colour_manual(values=c('red','blue'), guide = 'none')+
  scale_fill_manual(values=c('red','blue'))+
  scale_shape_manual(values = c(24,25))+
  theme_bw()+
  theme(legend.position="bottom") 

Erstellt am 08.02.2020 durch das reprex-Paket (v0.3.0)

Ich habe hinzugefügt scale_fill_und den Strich geom_pointauf Null gesetzt. Ich habe auch die Punkte größer gemacht, damit Sie besser sehen können.

Related questions

MORE COOL STUFF

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett widersetzte sich typischen Dating-Ratschlägen, als sie ihren Ehemann traf.

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Michael Sheen ist ein gemeinnütziger Schauspieler, aber was genau bedeutet das?

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sprach über spannende Fan-Begegnungen bei RomaDrama Live! plus sein INSPIRE-Programm auf der Convention.

Warum Sie „Northern Exposure“ nicht online streamen können

Warum Sie „Northern Exposure“ nicht online streamen können

Sie müssen einen Blu-ray- oder DVD-Player abstauben, um zu sehen, warum Northern Exposure zu einer der beliebtesten Shows der 90er Jahre wurde.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie Ihr Papierhandtuch, Toilettenpapier und Geschenkpapierrollen nicht in den Müll. Geben Sie ihnen stattdessen mit einem dieser 10 Hacks ein zweites Leben.

Schlafen Fische?

Schlafen Fische?

Es ist schwer vorstellbar, dass Nemo im Great Barrier Reef ein paar Zs fängt. Aber Fische brauchen Ruhe. Schlafen sie so wie wir?

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Haarteile aus Salons und persönliche Spenden können als Matten wiederverwendet werden, die Ölverschmutzungen aufsaugen und zum Schutz der Umwelt beitragen.

Angesichts der bevorstehenden Umweltkatastrophen entscheiden sich viele für eine kinderlose Zukunft

Angesichts der bevorstehenden Umweltkatastrophen entscheiden sich viele für eine kinderlose Zukunft

Bild einer deutschen Entbindungsstation über Getty. In den letzten zehn Jahren waren die Geburtenraten in der U.

Der Leiter des Verbraucherschutzes von Präsident Trump schert sich nicht um die Untersuchung der Equifax-Verletzung

Der Leiter des Verbraucherschutzes von Präsident Trump schert sich nicht um die Untersuchung der Equifax-Verletzung

Foto: Getty In jeder normalen Gesellschaft würden die Spitzenmanager von Equifax vor den Kongress gezerrt, viele ins Gefängnis geworfen, das Unternehmen geschlossen und alle Vermögenswerte des Unternehmens beschlagnahmt. Aber wir leben nicht in einer normalen Gesellschaft, was heute noch deutlicher geworden ist.

Wir machen diesen Februar alle Liegestütze

Wir machen diesen Februar alle Liegestütze

Bild aus der Staatsbibliothek von Victoria. Bereit für das nächste Kapitel der Lifehacker Fitness Challenge? Im Januar haben wir an Klimmzügen gearbeitet, auf welcher Ebene auch immer für jeden von uns.

Kool-Aid, Steak-Umms oder Ramen-Nudeln: Nur 1 kann überleben. Welche wählen Sie aus?

Kool-Aid, Steak-Umms oder Ramen-Nudeln: Nur 1 kann überleben. Welche wählen Sie aus?

Oben: iStock; unten: Steak-umm Fleisch YouTube-Screenshot Sie sind zuverlässige Grundnahrungsmittel, obwohl sie mehr mit tatsächlichen Grundnahrungsmitteln gemeinsam haben als jede Lebensmittelgruppe. Köstliche Optionen an der Kreuzung von "Das ist höllisch lecker" und "Warten".

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon hat am Dienstag die Vorwahlen von Michigan zum Gouverneur gewonnen, nachdem er eine späte Bestätigung des ehemaligen Präsidenten Donald Trump erhalten hatte

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr. Von Hollywood bis New York und überall dazwischen, sehen Sie, was Ihre Lieblingsstars vorhaben!

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

Die Ermittler prüfen, ob sich die Gruppe und der Verdächtige vor dem Angriff kannten

Start- und Landebahnen

Start- und Landebahnen

Spätsommer und Herbst sind nostalgische Jahreszeiten. Straßenlaternen werfen ihr Licht über regennasse Straßen, und die Blätter unter den Füßen – gedämpft rot-orange im Schatten der Dämmerung – erinnern an vergangene Tage.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Im Jahr 2021 ermutige ich Sie, alles zu überdenken, was Sie über die Kunden, die Sie bedienen, und die Geschichten, die Sie ihnen erzählen, wissen. Zurücktreten.

Ein Mammutverlust öffnete mein Herz für die Liebe

Ein Mammutverlust öffnete mein Herz für die Liebe

Am Tag des 9. Geburtstags von Felix The Cat erinnere ich mich an einen der größten Verluste meines Erwachsenenlebens – meine Sophie im Jahr 2013. Ich habe diesen Essay geschrieben und ihn kurz im Jahr 2013 auf dieser Plattform geteilt.

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Wenn Sie nicht die Person sein können, die das Internet von Ihnen will

Ich hasse das Wort „Zugwrack“. Die Menschen trösten sich mit ihrem eigenen moralischen Kompass und treffen dabei auf ein Urteil.

Language