Jak tworzyć wykresy kołowe w ggplot2 (z przykładami)


Wykres kołowy jest rodzajem wykresu w kształcie koła i wykorzystuje wycinki do przedstawienia proporcji całości.

W tym samouczku wyjaśniono, jak tworzyć i edytować wykresy kołowe w języku R przy użyciu biblioteki wizualizacji danych ggplot2 .

Jak utworzyć podstawowy wykres kołowy

Poniższy kod pokazuje, jak utworzyć podstawowy wykres kołowy dla zbioru danych za pomocą ggplot2:

 library (ggplot2)

#create data frame
data <- data.frame(" category " = c('A', 'B', 'C', 'D'),
                   " amount " = c(25, 40, 27, 8))

#create pie chart
ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) 

Wykres kołowy ggplot2

Jak zmienić wygląd wykresu kołowego

Domyślny wykres kołowy w ggplot2 jest dość brzydki. Najłatwiejszym sposobem na poprawę wyglądu jest użycie motywu_void() , który usuwa tło, siatkę i etykiety:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  theme_void() 

Wykres kołowy ggplot2 bez etykiet

Możemy jeszcze bardziej poprawić wygląd wykresu, dodając etykiety wewnątrz wycinków:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
  labs(x = NULL, y = NULL, fill = NULL) 

Wykres kołowy w ggplot2 z niestandardowymi etykietami

Możemy jeszcze bardziej dostosować wykres, określając własne kolory szesnastkowe do użycia dla wycinków za pomocą argumentuscale_fill_manual () :

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
  labs(x = NULL, y = NULL, fill = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_manual(values=c(" #FF5733 ", " #75FF33 ", " #33DBFF ", " #BD33FF ")) 

Wykres kołowy ggplot2, ręczne wypełnianie w skali

Wskazówka: Użyj tego selektora kolorów szesnastkowych, aby znaleźć kombinacje kodów kolorów szesnastkowych, które dobrze razem wyglądają.

Możesz także dostosować kolory plasterków, po prostu wybierając jedną ze skali kolorów piwowara . Tak na przykład wygląda skala kolorów „bluesa”:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
  labs(x = NULL, y = NULL) +
  theme_classic() +
  theme(axis.line = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank()) +
  scale_fill_brewer(palette=" Blues ") 

Browar na dużą skalę w ggplot2

Dodatkowe zasoby

Jak utworzyć zgrupowany wykres pudełkowy w R za pomocą ggplot2
Jak utworzyć mapę cieplną w R za pomocą ggplot2
Jak utworzyć wykres Gantta w R za pomocą ggplot2

Dodaj komentarz

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