Вот воспроизводимый пример, который, я думаю, инкапсулирует ваш Q (?):
require(ggplot2)
dat <- data.frame(X = sample(1:5, 100, replace = TRUE),
Y = rnorm(100))
Не сразу понятно, какие данные у вас есть, но если вы имеете в виду что-то вроде этого:
(p1 <- ggplot(dat, aes(x = X, y = Y)) + geom_point())
Тогда я думаю, что вам нужна стрип-диаграмма, которая может быть достигнута в ggplot с помощью коэффициента
dat2 <- within(dat, X <- factor(X, labels = letters[1:5]))
(p2 <- ggplot(dat2, aes(x = X, y = Y)) + geom_point())
Если вы не это имеете в виду, можете ли вы отредактировать свой Q, чтобы привести пример?