【问题标题】:R lattice: Getting plotting regions the sameR lattice:使绘图区域相同
【发布时间】:2016-02-03 00:13:55
【问题描述】:

我正在尝试制作一个顶部有直方图和底部有一个点图的复合图。他们应该以相同的比例显示数据,所以我希望比例匹配。

这里有一些代码几乎可以满足我的要求:

ability <- rnorm(50)
parameters <- data.frame(Item=paste("Q",1:10),Difficulty=rnorm(10))
xrange<- range(c(ability,parameters$Difficulty))

print(histogram(ability,endpoints=xrange,xlim=xrange*1.04),
      position=c(0,.68,1,1),more=TRUE,newpage=TRUE)
print(dotplot(Item~Difficulty,parameters,xlim=xrange*1.04),
      position=c(0,0,1,.7))

这是这个函数的输出

问题是两个函数中的刻度线不太对齐。这两个图为左侧的刻度分配了不同数量的空间,直方图在右侧有刻度,而点图没有。我不太清楚如何改变它(我怀疑它被埋在 scales 参数的某个地方)。

另外,使用 print 和 position 有点笨拙,有没有更好更通用的方法来做到这一点。

提前致谢。

【问题讨论】:

标签: r histogram lattice limits


【解决方案1】:

我想出了如何在基础 R 图形中做到这一点:

layout(matrix(c(1,2),2,1,byrow=TRUE),heights=c(1,3))
par(mar = c(3.1, 4.1, 3.1, 2.1))
hist(ability,xlim=xrange*1.2,xlab="",col="cyan")
par(mar = c(3.1, 4.1, 0.1, 2.1))
dotchart(parameters$Difficulty,parameters$Item,xlim=xrange*1.2,main="")

这产生了我需要的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2017-04-11
    • 2017-04-14
    • 2012-07-10
    • 1970-01-01
    • 2015-12-10
    相关资源
    最近更新 更多