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