Я пытаюсь понять, как добавить пространство на графике между двумя дискретными значениями по оси X. Например, на приведенном ниже графике я хотел бы сохранить тот же интервал между Setosa и Versicolor, но добавить пространство между Versiolor и Virginica на графике (а не метки осей).
data(iris)
library(ggplot2)
ggplot(data = iris, aes(x = Species, y = Sepal.Width)) +
geom_point()





Самый простой известный мне способ сделать это — сделать ось числовой, используя пользовательские разрывы и метки:
library(ggplot2)
iris %>%
mutate(Species2 = ifelse(Species == "virginica", 4, as.numeric(Species))) %>%
ggplot(aes(x = Species2, y = Sepal.Width)) +
geom_point() +
scale_x_continuous(breaks = c(1, 2, 4), labels = levels(iris$Species),
expand = c(0, 1), name = "Species",
minor_breaks = NULL)