R 在点绘图中绘制错误条线的垂直端点
我正在使用R 在点绘图中绘制错误条线的垂直端点,r,plot,lattice,R,Plot,Lattice,我正在使用lattice或dotplot()使用Hmisc绘制dotplot()。使用默认参数时,可以在没有小垂直端点的情况下绘制错误条 --o-- 但是我想 --o-- 我知道我可以 --o-- 当我使用fromplotrix或fromlatticeExtra时,这些解决方案并没有提供像Dotplot()这样好的条件选项。我试图使用绘图线的参数设置,它可以很好地更改错误条线的颜色、宽度等,但到目前为止,我没有成功地添加垂直端点: require(Hmisc) mean = c(1:5) lo
lattice
或dotplot()
使用Hmisc
绘制dotplot()。使用默认参数时,可以在没有小垂直端点的情况下绘制错误条
--o--
但是我想
--o--
我知道我可以
--o--
当我使用fromplotrix
或fromlatticeExtra
时,这些解决方案并没有提供像Dotplot()
这样好的条件选项。我试图使用绘图线
的参数设置
,它可以很好地更改错误条线的颜色、宽度等,但到目前为止,我没有成功地添加垂直端点:
require(Hmisc)
mean = c(1:5)
lo = mean-0.2
up = mean+0.2
d = data.frame (name = c("a","b","c","d","e"), mean, lo, up)
Dotplot(name ~ Cbind(mean,lo,up),data=d,ylab="",xlab="",col=1,cex=1,
par.settings = list(plot.line=list(col=1),
layout.heights=list(bottom.padding=20,top.padding=20)))
请不要给我使用ggplot2的解决方案…我过去也有同样的需求,使用barchart()
而不是Dotplot()
然后,我的解决方案是创建一个定制的面板函数:(1)首先执行原始面板函数;和(2)然后使用panel.arrows()
添加错误条(使用双头箭头,其中头部边缘与轴形成90度角)
下面是使用Dotplot()
时可能出现的情况:
#创建自定义面板功能
mypanel.Dotplot起点可以是使用bwclot
并修改面板,即panel.bwclot
。以下线程可能会有所帮助。不错!我认为那些面板函数可以发挥神奇的作用,但lattice manual并不简单,有很多方法可以改变参数。干杯,伙计!嗯,现在我有问题了,因为当我再应用两个条件时,它就不起作用了。通过添加另外两个条件来查看:Dotplot(name~Cbind(mean,lo,up)| condX*condY,…)
。有什么想法吗?@GeekOnAcid--我现在没时间。我建议您在自定义面板函数中放置一行,读作browser()
(第一行就可以了)。然后,当/如果调用面板函数时,它会中断执行,你可以在那里四处走动,看看是否有,例如,tips@GeekOnAcid——然后,如果你不能理解,可以编辑这个问题,或者作为一个新问题问它。如果其他人不接,我会在有机会的时候再谈这个问题。祝你好运+1我也有同样的基本想法(自定义面板功能通常是答案),但我看不出错误条的信息是如何/在哪里传递的。你的回答很好地涵盖了这一点,谢谢!
# Create the customized panel function
mypanel.Dotplot <- function(x, y, ...) {
panel.Dotplot(x,y,...)
tips <- attr(x, "other")
panel.arrows(x0 = tips[,1], y0 = y,
x1 = tips[,2], y1 = y,
length = 0.15, unit = "native",
angle = 90, code = 3)
}
# Use almost the same call as before, replacing the default panel function
# with your customized function.
Dotplot(name ~ Cbind(mean,lo,up),data=d,ylab="",xlab="",col=1,cex=1,
panel = mypanel.Dotplot,
par.settings = list(plot.line=list(col=1),
layout.heights=list(bottom.padding=20,top.padding=20)))