Een complete gids voor de beste ggplot2-thema's


Deze tutorial biedt een complete gids voor de beste ggplot2-thema’s, waaronder:

  • Hoe u het uiterlijk van plots kunt wijzigen met behulp van de ingebouwde ggplot2-thema’s.
  • Hoe u het uiterlijk van plots kunt wijzigen met behulp van vooraf gedefinieerde thema’s uit de ggthemes- bibliotheek.
  • Hoe u specifieke componenten van het thema kunt bewerken, inclusief de achtergrond van het padpaneel en rasterlijnen.

Hoe u het uiterlijk van een plot kunt wijzigen met behulp van ingebouwde ggplot2-thema’s

Voor elk van de volgende voorbeelden gebruiken we de iris uit de ingebedde R-dataset:

 #view first six rows of iris dataset
head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

Eerst laden we de ggplot2- bibliotheek en maken we een spreidingsdiagram dat Sepal.Length op de x-as en Sepal.Width op de y-as toont, gekleurd volgens soort:

 #load ggplot2 library
library(ggplot2)

#create scatterplot
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point()

Vervolgens laten we zien hoe elk van de ingebouwde ggplot2-thema’s het uiterlijk van de plot beïnvloedt.

grijs_thema

Het standaardthema, met een grijze achtergrond en een wit raster.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_gray()

bw_thema

Een zwart op wit thema.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_bw()

thema_lijntekening

Een thema met alleen zwarte lijnen van verschillende breedtes op een witte achtergrond.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_linedraw()

thema_licht

Een thema dat lijkt op thema_linedraw , maar met grijze lijnen en assen die zijn ontworpen om meer aandacht op de gegevens te vestigen.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_light()

donker_thema

Een thema vergelijkbaar met thema_light , maar met een donkere achtergrond. Een handig thema om fijne gekleurde lijnen naar voren te brengen.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_dark()

minimaal_thema

Een thema zonder achtergrondannotaties.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_minimal()

klassiek_thema

Een thema zonder rasters.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_classic()

thema_void

Een volledig leeg thema.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_void()

Hoe u het uiterlijk van plots kunt wijzigen met behulp van vooraf gedefinieerde thema’s uit de ggthemes-bibliotheek

Naast het gebruik van de ingebouwde ggplot2-thema’s, kunnen we de vooraf gedefinieerde thema’s uit de ggthemes-bibliotheek gebruiken om de esthetiek van de plots te veranderen.

Eerst laden we de ggthemes-bibliotheek:

 library(ggthemes)

Vervolgens laten we enkele voorbeelden zien van het gebruik van de vooraf gedefinieerde thema’s om de esthetiek van de plots te wijzigen:

thema_wsj

Een thema uit de Wall Street Journal.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_wsj()

thema_tufte

Een minimalistisch thema geïnspireerd op het werk van statisticus Edward Tufte.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_tufte()

gesolariseerd_thema

Een thema dat kleuren gebruikt die zijn gebaseerd op het Solarized Palette .

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_solarized()

Merk op dat we ook het argument light = FALSE kunnen gebruiken om een donkere achtergrond in de plot te gebruiken:

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_solarized( light = FALSE )

thema_gdocs

Een thema met standaardinstellingen voor Google Docs Chart.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_gdocs()

thema_vijfdertigacht

Thema geïnspireerd op de plots van fivethirtyeight.com .

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_fivethirtyeight()

thema_econoom

Thema geïnspireerd door The Economist.

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme_economist()

Hoe specifieke componenten van plots te bewerken

We kunnen de functies thema() en element_rect() gebruiken om de achtergrondkleur van het plotpaneel te wijzigen:

 theme(panel.background = element_rect(fill, color, size))
  • vulling: vulkleur voor de rechthoek
  • kleur: randkleur
  • maat: randgrootte

We kunnen ook de functie element_line() gebruiken om de grootte en het uiterlijk van het raster te wijzigen:

 theme(panel.grid.major = element_line(color, size, linetype),
      panel.grid.minor = element_line(color, size, linetype))
  • kleur: randkleur
  • maat: randgrootte
  • lijntype: lijntype („leeg“, „ononderbroken“, „streepje“, „gestippeld“, „puntstreepje“, „lang streepje“, „twee streepjes“)

De volgende code laat zien hoe u de randen en rasterlijnen van het plotpaneel verwijdert:

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme(panel.border = element_blank(),
  panel.grid.major = element_blank(),
  panel.grid.minor = element_blank())

De volgende code laat zien hoe u de achtergrond en rasterlijnen van het plotpaneel kunt wijzigen:

 ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) +
  geom_point() +
  theme(
    panel.background = element_rect(fill = "powderblue",
    color = "powderblue",
    size = 0.5, linetype = "solid"),
    panel.grid.major = element_line(size = 0.5, linetype = 'solid', color = "white"),
    panel.grid.minor = element_line(size = 0.25, linetype = 'solid', color = "white")
  )

Einen Kommentar hinzufügen

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