So verwenden sie hjust und verschieben einfach elemente in ggplot2


Sie können die Argumente hjust und vjust verwenden, um Elemente in ggplot2 horizontal bzw. vertikal zu verschieben.

Die folgenden Beispiele zeigen, wie hjust und vjust in verschiedenen Szenarien verwendet werden.

Beispiel 1: Titelposition in ggplot2 verschieben

Der folgende Code zeigt, wie man in ggplot2 ein Streudiagramm mit einem Titel an der Standardposition (linksbündig) erstellt:

 library (ggplot2)

#create scatter plot with title in default position
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle(" Plot Title ") 

Und der folgende Code zeigt, wie man den Titel mit hjust=0.5 zentriert:

 library (ggplot2)

#create scatter plot with title center-aligned
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle(" Plot Title ") +
  theme(plot. title = element_text(hjust= .5 )) 

Hinweis : Sie können auch hjust=1 verwenden, um den Titel rechts auszurichten.

Beispiel 2: Achsenbeschriftungsposition in ggplot2 verschieben

Der folgende Code zeigt, wie man in ggplot2 ein Balkendiagramm erstellt, in dem die Beschriftungen der x-Achse um 90 Grad gedreht sind, um sie leichter lesbar zu machen:

 library (ggplot2)

#create data frame
df = data. frame (team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                dots=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat=' identity ') +
  theme(axis. text . x = element_text(angle= 90 )) 

Wir können die Argumente hjust und vjust verwenden, um die Beschriftungen der x-Achse so anzupassen, dass sie besser an den Markierungen der x-Achse ausgerichtet sind:

 library (ggplot2)

#create data frame
df = data. frame (team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                dots=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat=' identity ') +
  theme(axis. text . x = element_text(angle= 90 , vjust= .5 , hjust= 1 ) 

Beispiel 3: Textposition in ggplot2 verschieben

Der folgende Code zeigt, wie man in ggplot2 ein Streudiagramm mit annotiertem Text für jeden Punkt im Diagramm erstellt:

 library (ggplot2)

#create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player)) 

Wir können das Argument vjust verwenden, um Textelemente vertikal zu verschieben, damit sie leichter lesbar sind:

 library (ggplot2)

#create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), vjust= -.6 ) 

Wir könnten auch einen positiven Wert für vjust verwenden, um Textelemente vertikal nach unten zu verschieben:

 library (ggplot2)

#create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), vjust= 1.2 ) 

Der kommentierte Text befindet sich nun unter jedem Punkt im Diagramm.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in ggplot2 ausführen:

So ändern Sie den Legendentitel in ggplot2
So drehen Sie Achsenbeschriftungen in ggplot2
So beheben Sie das Problem in R: Funktion „ggplot“ kann nicht gefunden werden

Einen Kommentar hinzufügen

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