Hoe x-aslabels in ggplot2 te veranderen


U kunt de functie scale_x_discrete() gebruiken om de x-aslabels op een plot in ggplot2 te wijzigen:

 p + scale_x_discrete(labels=c(' label1 ', ' label2 ', ' label3 ', ...))

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Wijzig de labels van de X-as in ggplot2

Stel dat we het volgende gegevensframe in R hebben dat de punten weergeeft die door verschillende basketbalteams zijn gescoord:

 #create data frame
df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers'),
                 dots=c(100, 122, 104, 109))

#view data frame
df

    team points
1 Mavs 100
2 Heat 122
3 Nets 104
4 Lakers 109

Als we een staafdiagram maken om de door elk team gescoorde punten te visualiseren, maakt ggplot2 automatisch labels om op de x-as te plaatsen:

 library (ggplot2)

#create bar plot
ggplot(df, aes(x=team, y=points)) +
  geom_col() 

Om de labels van de X-as in iets anders te veranderen, kunnen we de functie scale_x_discrete() gebruiken:

 library (ggplot2)

#create bar plot with specific axis order
ggplot(df, aes(x=team, y=points)) +
  geom_col() +
  scale_x_discrete(labels=c(' label1 ', ' label2 ', ' label3 ', ' label4 '))

ggplot2 verandert x-aslabels

De labels op de X-as komen nu overeen met de labels die we hebben opgegeven met de functie scale_x_discrete() .

U kunt de labels ook in een vector buiten de functie scale_discrete() opgeven als u dat wilt:

 library (ggplot2)

#specify labels for plot
my_labels <- c(' label1 ', ' label2 ', ' label3 ', ' label4 ')

#create bar plot with specific axis order
ggplot(df, aes(x=team, y=points)) +
  geom_col() +
  scale_x_discrete(labels=my_labels) 

Dit past bij het vorige plot.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in ggplot2 kunt uitvoeren:

Hoe aslabels te roteren in ggplot2
Hoe aseinden in ggplot2 in te stellen
Hoe aslimieten in ggplot2 in te stellen
Hoe legendalabels in ggplot2 te veranderen

Einen Kommentar hinzufügen

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