Я новичок в xyplot в пакете решетки, и я пытаюсь визуализировать мой фрейм данных.Я хотел бы представить значения некоторой непрерывной переменной на оси x и пары факторных переменных на оси y (другими словами, вложенную переменную на оси y)
В: Как добавитьпользовательские надписи на оси Y?
Я прочитал документацию по мануалу и гуглил этот вопрос, пока решение не было найдено.Я ожидаю получить что-то вроде этого
Возможно ли получить такой тип графика с использованием xyplot?
Обновление
Действительно, ggplot2 может быть хорошим вариантом.Тем не менее, xyplot кажется более удобным, используя формулу y ~ x1 | x2, в то время как я не знаю, как сделать этот график.
Вот воспроизводимый пример
method<-rep(c("XGBM", "LGBM", "WGBM", "NNGBM"), times = 20)
Scenario<-as.factor(sort(rep(1:5, times = 16)))
scrooter<-as.factor(rep(c(50, 5, 0.5, 0.05), times = 5, each = 4))
measure<-rnorm(80)
data<-data.frame(measure, method, Scenario, scrooter)
str(data)
'data.frame': 80 obs. of 4 variables:
$ measure : num -1.181 -2.595 1.114 0.178 -1.246 ...
$ method : Factor w/ 4 levels "LGBM","NNGBM",..: 4 1 3 2 4 1 3 2 4 1 ...
$ Scenario: Factor w/ 5 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ scrooter: Factor w/ 4 levels "0.05","0.5","5",..: 4 4 4 4 3 3 3 3 2 2 ...
мера: круги на графике и значения должны быть размещены на оси x.
метод: метки полосы сверху
Сценарий: метки полосы слева
scrooter: значениеразмещено на оси y
Обновление 2
Вот решение с использованием ggplot, но я ищу решение с использованием xyplot
cust_theme <- theme_bw() +
theme(legend.position="none",
panel.spacing.x = unit(0, "lines"),
panel.spacing.y = unit(0, "lines"),
panel.grid = element_blank(),
panel.border = element_rect(size = 0.25, color = "black"),
strip.background.x = element_rect(fill = "wheat1"),
strip.background.y = element_rect(fill = "lightgreen"),
strip.text.x = element_text(margin = margin(1,0,1,0, "mm")),
strip.text.y = element_text(margin = margin(0,1,0,1, "mm")),
axis.title=element_text(size=14,face="plain"),
axis.text.x = element_text(angle = 45, hjust = 1)
)
point.plot<-ggplot(data = data, aes(x = measure, y = scrooter)) +
geom_point(size = 3) +
facet_grid(Scenario ~ method, switch = "y") +
cust_theme +
geom_vline(xintercept = 0, linetype="dotted", color = "black", size=0.5) +
ylab("Scrooter") +
geom_point(color = "white", size = 1.5)