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 ') 

szara strefa ggplot2

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 ') 

wiele zacienionych obszarów w ggplot2

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *