在多个图形图中绘制垂直线

时间:2014-09-04 10:24:13

标签: r plot

在使用 mirt 包时,我遇到了使用绘图功能,它允许我们在与图像文件相同的图中绘制多条特征曲线。

我用来获取此图的代码如下所示

library(mirt)
data(LSAT6)
mod=mirt(LSAT6, 1, "Rasch")
plot(mod, type = 'trace', auto.key = F, main="Item Information Curves")

我想在零点的图像中显示的所有子图中绘制一条垂直线。

有人知道锄头这样做吗?

提前谢谢。

P.S。 abline(v=0, col=3, lwd=1)不能用于此目的。

Item information curve

我如何需要我的图表看起来像这样(使用油漆做到了这一点):

Desired Item Information Curve with Vertical line

2 个答案:

答案 0 :(得分:3)

此图使用lattice图形系统。可以使用自定义面板功能添加这些行(请参阅?xyplot):

plot(mod, type = 'trace', auto.key = F, , main="Item Information Curves",
 panel=function(...) {
   panel.xyplot(...)
   if (which.packet() %in% c(2, 3, 5, 6)) {
     panel.abline(v=0, col="red", lwd=3)
   }
   if (which.packet() %in% 4) {
     panel.abline(v=0, col="black", lwd=3)
   }
 })

plot

答案 1 :(得分:0)

不确定mirt正在做什么,但看起来像格子图。要添加其他绘图,请使用面板参数。例如:

library(reshape2)
d=melt(iris)
xyplot(value~variable|Species,d,panel=function(x,y,...) {
    panel.xyplot(x,y,...)
    panel.abline(v = 1)
})

也许你正在使用的plot()函数接受一个面板参数?