Я пытаюсь объединить 2 точечных графика, используя пакеты lattice
и latticeExtra
, но обнаруживаю, что группы данных на оси x перекрываются в комбинированном графике.Вот воспроизводимый пример:
Сначала я создаю 2 воспроизводимых набора данных и расплавляю их так, чтобы они были длинными, а не широкими:
require(lattice)
df1 <- data.frame(Treatment = rep(c("B", "C"), each = 6),
LocB = sample(1:100, 12),
LocC = sample(1:100, 12))
dftwo <- data.frame(Treatment = rep(c("A"), each = 6),
LocA = sample(1:100, 6))
dat.reprod1 <- melt(df1, id.vars = 'Treatment')
dat.reprod2 <- melt(dftwo, id.vars = 'Treatment')
И затем я создаю точечную диаграмму для каждого набора данных:
dotreprod1 <- dotplot(value ~ Treatment, data = dat.reprod1,
par.strip.text = list(cex = 3),
cex = 2)
dotreprod2 <- dotplot(value ~ Treatment, data = dat.reprod2,
par.strip.text = list(cex = 3), col = "orange",
cex = 2)
И затем я объединяю их, добавляяновая ось Y для dotreprod2:
require(latticeExtra)
doubleYScale(dotreprod1, dotreprod2, add.ylab2 = TRUE, use.style = F)
К сожалению, на оси x комбинированного графика нет места для "A", поэтомуоранжевые точки перекрываются с синими.Можно ли создать пространство на оси X, чтобы «А», «В» и «С» находились рядом друг с другом, а точки не перекрывались?