Я согласен с комментариями о том, что это может ввести в заблуждение или ввести в заблуждение, поскольку подключение категориальных переменных подразумевает спектр и интервал, который может быть субъективным или вводящим в заблуждение.
Но если предположить, что это имеет смысл для вашего варианта использования, выможет подойти к этому путем преобразования ваших факторов в числовые непрерывные данные «под капотом», а затем адаптировать ваши метки обратно к категориальному типу. Например:
mtcars %>%
mutate(gear = as.factor(gear)) %>%
group_by(gear) %>%
summarise(mpg = mean(mpg)) %>%
mutate(factor_num = as.numeric(gear)) -> temp
ggplot(temp, aes(x = factor_num, y = mpg)) +
# This geom draws a smooth line through your points
ggalt::geom_xspline(spline_shape = -0.5) +
geom_point() +
scale_x_continuous(breaks = temp$factor_num, labels = temp$gear, name = "gear") +
expand_limits(y = 0)