Jak zacienić obszar w ggplot2 (z przykładami)
Możesz użyć następującej podstawowej składni, aby zacieniować określony obszar na wykresie w ggplot2:
ggplot(df, aes(x=x, y=y)) + geom_point() + annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ')
Ten konkretny przykład zacienia obszar pomiędzy wartościami x wynoszącymi 3 i 5 oraz wartościami y wynoszącymi 3 i 7.
Argument fill steruje kolorem zacienionego obszaru, a argument alfa kontroluje przezroczystość koloru.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: zacień obszar w ggplot2
Załóżmy, że mamy w R następującą ramkę danych zawierającą informacje o zdobytych punktach i zbiórkach zebranych przez różnych koszykarzy:
#create data frame
df <- data. frame (points=c(3, 3, 5, 6, 7, 8, 9, 9, 8, 5),
rebounds=c(2, 6, 5, 5, 8, 5, 9, 9, 8, 6))
#view data frame
df
rebound points
1 3 2
2 3 6
3 5 5
4 6 5
5 7 8
6 8 5
7 9 9
8 9 9
9 8 8
10 5 6
Możemy użyć poniższego kodu, aby utworzyć wykres rozrzutu i zacieniować obszar pomiędzy wartościami x 3 i 5 oraz wartościami y 3 i 7 jasnoczerwonym prostokątem:
library (ggplot2) #create scatter plot with shaded area ggplot(df, aes(x=x, y=y)) + geom_point() + annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .2 , fill=' red ')
Obszar określony w funkcji annotate() jest zacieniony jasnoczerwonym prostokątem.
Należy pamiętać, że wartość argumentu alfa waha się od 0 do 1, przy czym niższe wartości wskazują na większą przezroczystość.
Przykładowo, jeśli zmienimy wartość alfa na 0,5, kolor zacieniowanego obszaru będzie ciemniejszy:
library (ggplot2) #create scatter plot with shaded area ggplot(df, aes(x=x, y=y)) + geom_point() + annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ')
Pamiętaj też, że możesz wielokrotnie używać funkcji annotate() , aby utworzyć wiele zacienionych obszarów na wykresie:
library (ggplot2) #create scatter plot with two shaded areas ggplot(df, aes(x=x, y=y)) + geom_point() + annotate(' rect ', xmin= 3 , xmax= 5 , ymin= 3 , ymax= 7 , alpha= .5 , fill=' red ')
Możesz swobodnie bawić się argumentami funkcji annotate() , aby utworzyć dokładnie takie cieniowanie, jakie chcesz na swoim wykresie.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak dodać tekst do wykresów ggplot2
Jak usunąć linie siatki w ggplot2
Jak zmienić etykiety osi X w ggplot2