Jak dodać linię poziomą do wykresu i legendy w ggplot2
Możesz użyć poniższej składni, aby dodać linię poziomą do wykresu w ggplot2, a następnie dodać linię poziomą jako element legendy:
library (ggplot2) #create data frame with values to plot df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Tworząc osobną ramkę danych zawierającą tylko wartość przecięcia z osią y linii poziomej, możemy dodać linię poziomą do wykresu i automatycznie dodać ją do legendy.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: dodaj poziomą linię do wykresu i legendy w ggplot2
Załóżmy, że mamy w R następującą ramkę danych zawierającą informacje o koszykarzach z różnych drużyn:
#create data frame df <- data. frame (team=rep(c(' A ', ' B '), each= 5 ), assists=c(1, 3, 3, 4, 5, 7, 7, 9, 9, 10), points=c(4, 8, 12, 10, 18, 25, 20, 28, 33, 35)) #view data frame df team assists points 1 To 1 4 2 to 3 8 3 to 3 12 4 to 4 10 5 to 5 18 6 B 7 25 7 B 7 20 8 B 9 28 9 B 9 33 10 B 10 35
Załóżmy, że chcemy utworzyć wykres rozrzutu w ggplot2, aby zwizualizować punkty i wartości pomocnicze dla każdego gracza na podstawie jego drużyny, a następnie dodać poziomą linię w miejscu y = 22, aby zdefiniować „próg” różnicy między dobrem a złem gracze.
W tym celu możemy użyć następującej składni:
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Należy zwrócić uwagę, że legenda po prawej stronie wykresu zawiera okręgi wskazujące, które punkty na wykresie należą do których drużyn, a do legendy dodano także poziomą linię przedstawiającą linię odcięcia.
Jeśli chcesz zmienić podpis linii poziomej w legendzie, po prostu edytuj tekst w kolumnie Wiersze w ramce danych przerwania .
Na przykład możemy użyć następującej składni, aby zmienić etykietę linii poziomej na „Próg dobra i zła”:
library (ggplot2) #create data frame that contains horizontal line location cutoff <- data. frame (yintercept= 22 , Lines=' Cutoff of Good vs. Bad ') #create scatterplot with horizontal line and include horizontal line in legend ggplot(df, aes(x=assists, y=points)) + geom_point(aes(color=team)) + geom_hline(aes(yintercept=yintercept, linetype=Lines), cutoff)
Należy zwrócić uwagę, że etykieta linii poziomej w legendzie uległa zmianie.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w ggplot2:
Jak zmienić tytuł legendy w ggplot2
Jak zmienić rozmiar legendy w ggplot2
Jak zmienić pozycję legendy w ggplot2