Cirkeldiagrammen maken in ggplot2 (met voorbeelden)


Een cirkeldiagram is een soort cirkelvormig diagram en gebruikt segmenten om de verhoudingen van een geheel weer te geven.

In deze zelfstudie wordt uitgelegd hoe u cirkeldiagrammen in R kunt maken en bewerken met behulp van de ggplot2- gegevensvisualisatiebibliotheek.

Hoe u een basiscirkeldiagram maakt

De volgende code laat zien hoe u met ggplot2 een basiscirkeldiagram voor een gegevensset maakt:

 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 ) 

ggplot2-cirkeldiagram

Hoe u het uiterlijk van het cirkeldiagram kunt wijzigen

Het standaardcirkeldiagram in ggplot2 is behoorlijk lelijk. De eenvoudigste manier om het uiterlijk te verbeteren is door thema_void() te gebruiken, waarmee de achtergrond, het raster en de labels worden verwijderd:

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

ggplot2-cirkeldiagram zonder labels

We kunnen het uiterlijk van het diagram verder verbeteren door labels in de segmenten toe te voegen:

 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) 

Cirkeldiagram in ggplot2 met aangepaste labels

We kunnen het diagram nog verder aanpassen door onze eigen hexadecimale kleuren op te geven die we voor de segmenten moeten gebruiken met het scale_fill_manual() argument:

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

Cirkeldiagram ggplot2 handmatig vullen op schaal

Tip: Gebruik deze hex-kleurkiezer om combinaties van hex-kleurcodes te vinden die er goed uitzien.

U kunt de schijfkleuren ook aanpassen door eenvoudigweg een van de kleurenschalen van de brouwer te kiezen. Zo ziet de kleurenschaal “blauw” er bijvoorbeeld uit:

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

Brouwer op schaal in ggplot2

Aanvullende bronnen

Hoe een gegroepeerde boxplot in R te maken met ggplot2
Hoe je een heatmap in R maakt met ggplot2
Hoe u een Gantt-diagram in R maakt met ggplot2

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert