R 将两个具有不同y轴的点图组合在一起会导致x轴上的重叠

R 将两个具有不同y轴的点图组合在一起会导致x轴上的重叠,r,plot,lattice,R,Plot,Lattice,我试图使用lattice和latticecextra包组合2个点图,但发现x轴上的数据组在组合图中重叠。以下是一个可复制的示例: 首先,我创建了2个可复制的数据集,并将其熔化,使其变长而不是变宽: require(lattice) df1 <- data.frame(Treatment = rep(c("B", "C"), each = 6), LocB = sample(1:100, 12), LocC = sa

我试图使用
lattice
latticecextra
包组合2个点图,但发现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')


不幸的是,组合图的x轴上没有“A”的空间,因此橙色点与蓝色点重叠。是否可以在X轴上创建空间,以便“A”、“B”和“C”彼此相邻且点不重叠?

在两个单独的绘图中,将X变量指定为组合数据的
级别
因子,并设置
drop.unused.levels=FALSE

dotreprod1 <- dotplot(value ~ factor(Treatment, levels = LETTERS[1:3]),
                      data = dat.reprod1,
                      drop.unused.levels = FALSE)

dotreprod2 <- dotplot(value ~ factor(Treatment, levels = LETTERS[1:3]),
                      data = dat.reprod2,
                      col = "orange",
                      drop.unused.levels = FALSE)

doubleYScale(dotreprod1, dotreprod2, add.ylab2 = TRUE, use.style = FALSE)
dotpreprod1
dotreprod2 <- dotplot(value ~ Treatment, data = dat.reprod2,
                      par.strip.text = list(cex = 3), col = "orange",
                      cex = 2)
require(latticeExtra)
doubleYScale(dotreprod1, dotreprod2, add.ylab2 = TRUE, use.style = F)
dotreprod1 <- dotplot(value ~ factor(Treatment, levels = LETTERS[1:3]),
                      data = dat.reprod1,
                      drop.unused.levels = FALSE)

dotreprod2 <- dotplot(value ~ factor(Treatment, levels = LETTERS[1:3]),
                      data = dat.reprod2,
                      col = "orange",
                      drop.unused.levels = FALSE)

doubleYScale(dotreprod1, dotreprod2, add.ylab2 = TRUE, use.style = FALSE)