Değeri hjust
ve vjust
sadece 0 ve 1 arasında tanımlanmıştır:
- 0 sola dayalı
- 1 doğru haklı demektir
Kaynak: ggplot2, Hadley Wickham, sayfa 196
(Evet, çoğu durumda bu aralığın ötesinde kullanabileceğinizi biliyorum, ancak herhangi bir şekilde davranmasını beklemeyin. Bu özelliklerin dışındadır.)
hjust
yatay yaslamayı vjust
kontrol eder ve dikey yaslamayı kontrol eder.
Bir örnek bunu açıklığa kavuşturmalıdır:
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))
hjust
Eksen metnini değiştirdiğinizde ne olacağını anlamak için , eksen metninin yatay hizalamasının x eksenine değil, tüm grafiğe göre tanımlandığını anlamanız gerekir (bunun y ekseni metnini içerir). (Bu benim görüşüme göre talihsiz. Eksene göre hizalamaya sahip olmak çok daha yararlı olacaktır.)
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)
vjust
Eksen etiketlerinin hizalanmasıyla neler olduğunu keşfetmek için :
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)