Der Wert von hjustund vjustwird nur zwischen 0 und 1 definiert:
- 0 bedeutet linksbündig
- 1 bedeutet rechtsbündig
Quelle: ggplot2, Hadley Wickham, Seite 196
(Ja, ich weiß, dass Sie es in den meisten Fällen außerhalb dieses Bereichs verwenden können, aber erwarten Sie nicht, dass es sich auf eine bestimmte Weise verhält. Dies liegt außerhalb der Spezifikation.)
hjuststeuert die horizontale Ausrichtung und vjustdie vertikale Ausrichtung.
Ein Beispiel sollte dies klarstellen:
td <- expand.grid(
hjust=c(0, 0.5, 1),
vjust=c(0, 0.5, 1),
angle=c(0, 45, 90),
text="text"
)
ggplot(td, aes(x=hjust, y=vjust)) +
geom_point() +
geom_text(aes(label=text, angle=angle, hjust=hjust, vjust=vjust)) +
facet_grid(~angle) +
scale_x_continuous(breaks=c(0, 0.5, 1), expand=c(0, 0.2)) +
scale_y_continuous(breaks=c(0, 0.5, 1), expand=c(0, 0.2))

Um zu verstehen, was passiert, wenn Sie den hjustText in der Achse ändern , müssen Sie verstehen, dass die horizontale Ausrichtung für den Achsentext nicht in Bezug auf die x-Achse, sondern auf das gesamte Diagramm (einschließlich des Textes auf der y-Achse) definiert ist. (Dies ist meiner Ansicht nach unglücklich. Es wäre viel nützlicher, die Ausrichtung relativ zur Achse zu haben.)
DF <- data.frame(x=LETTERS[1:3],y=1:3)
p <- ggplot(DF, aes(x,y)) + geom_point() +
ylab("Very long label for y") +
theme(axis.title.y=element_text(angle=0))
p1 <- p + theme(axis.title.x=element_text(hjust=0)) + xlab("X-axis at hjust=0")
p2 <- p + theme(axis.title.x=element_text(hjust=0.5)) + xlab("X-axis at hjust=0.5")
p3 <- p + theme(axis.title.x=element_text(hjust=1)) + xlab("X-axis at hjust=1")
library(ggExtra)
align.plots(p1, p2, p3)

So untersuchen Sie, was mit der vjustAusrichtung von Achsenbeschriftungen geschieht :
DF <- data.frame(x=c("a\na","b","cdefghijk","l"),y=1:4)
p <- ggplot(DF, aes(x,y)) + geom_point()
p1 <- p + theme(axis.text.x=element_text(vjust=0, colour="red")) +
xlab("X-axis labels aligned with vjust=0")
p2 <- p + theme(axis.text.x=element_text(vjust=0.5, colour="red")) +
xlab("X-axis labels aligned with vjust=0.5")
p3 <- p + theme(axis.text.x=element_text(vjust=1, colour="red")) +
xlab("X-axis labels aligned with vjust=1")
library(ggExtra)
align.plots(p1, p2, p3)
