How do I right-align the Y-axis title ("Species") with the axis labels (the three species names), such that the axis title is close to the gray panel? hjust
does not seem to affect the position.
library(ggplot2)
ggplot(iris,
aes(x = Species,
y = Sepal.Width)) +
geom_boxplot() +
labs(x = "Species",
y = "Sepal Width") +
coord_flip() +
theme(axis.title.y = element_text(angle = 0, hjust = 0))
You can use geom_text
together with clip = "off"
inside coord_flip()
which will allow drawing plot element outside of the plot panel. Obviously you will have to play around with x
and y
to get the desired output with this manual method
library(ggplot2)
p <- ggplot(iris,
aes(x = Species,
y = Sepal.Width)) +
geom_boxplot() +
labs(x = NULL,
y = "Sepal Width") +
coord_flip(clip = "off") + # add clip = off here
theme(axis.title.y = element_text(angle = 0, hjust = 0))
p +
# add axis title here
geom_text(
x = 3.5,
y = 1.85,
inherit.aes = FALSE,
label = "Species",
check_overlap = TRUE,
hjust = 1,
fontface = 'bold',
size = 5
) +
theme(plot.margin = unit(c(1, 1, 1, 2), "lines"))
Created on 2018-10-27 by the reprex package (v0.2.1)