Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在条形图中添加两条垂直线_R_Lattice - Fatal编程技术网

R 在条形图中添加两条垂直线

R 在条形图中添加两条垂直线,r,lattice,R,Lattice,我试图在我制作的柱状图上添加两条垂直线,但遇到了麻烦 示例数据集 data<-data.frame(area=rep(c("ES","OC","VB"),each=2,times=2),num=c(0,10,23,40,25,60,80,45,10,25,10,0), bin=rep(c(85,90),times=3)) 任何帮助都将不胜感激。感谢您在代码开头将bin转换为一个因子(尽管即使您没有转换,它也会被强制转换为一个因子),创建一个分类轴,隐式主刻度坐标为1和2作为每组条

我试图在我制作的柱状图上添加两条垂直线,但遇到了麻烦

示例数据集

data<-data.frame(area=rep(c("ES","OC","VB"),each=2,times=2),num=c(0,10,23,40,25,60,80,45,10,25,10,0),
    bin=rep(c(85,90),times=3))

任何帮助都将不胜感激。感谢您在代码开头将
bin
转换为一个因子(尽管即使您没有转换,它也会被强制转换为一个因子),创建一个分类轴,隐式主刻度坐标为1和2作为每组条形图的中心,而不是您所期望的85和90。例如,请参见更改代码时发生的情况,如下所示:

       panel.abline(v=1,col="red",lty=2)
       panel.abline(v=2,h=0,col="black")
       panel.abline(h=lims$ylim[1],v=lims$xlim[1])
       panel.text(1,200,"OC (N = 1,947)",col="black",cex=.8)
       panel.text(1.5,185,"ES (N = 2,623)",col="lightslategray",cex=.8)
       panel.text(2,170,"VB (N = 2,780)",col="light gray",cex=.8)
     })
上面这些应该可以做到


谢谢。现在我了解到x轴变量被视为因子的级别(即1、2、3等),而不是图上显示的值。因此,当我需要在实际数据中添加一行时,我使用的是因子的编号,而不是轴上的值。
条形图
可以采用
数据
参数,这样就可以提供变量名,而无需指向封闭的
数据$
对象
R version 3.2.1 (2015-06-18)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets 
[7] methods   base     

other attached packages:
 [1] plyr_1.8.3          Hmisc_3.17-0        ggplot2_1.0.1      
 [4] Formula_1.2-1       survival_2.38-1     car_2.0-26         
 [7] MASS_7.3-40         xlsx_0.5.7          xlsxjars_0.6.1     
[10] rJava_0.9-7         latticeExtra_0.6-26 RColorBrewer_1.1-2 
[13] lattice_0.20-31 
       panel.abline(v=1,col="red",lty=2)
       panel.abline(v=2,h=0,col="black")
       panel.abline(h=lims$ylim[1],v=lims$xlim[1])
       panel.text(1,200,"OC (N = 1,947)",col="black",cex=.8)
       panel.text(1.5,185,"ES (N = 2,623)",col="lightslategray",cex=.8)
       panel.text(2,170,"VB (N = 2,780)",col="light gray",cex=.8)
     })
barchart(data$num~as.factor(data$bin), groups=data$area, 
panel=function(x,y,...){ 
       panel.barchart(x,y,...) 
       panel.abline(v=1,col.line="red",lty=3)
       panel.abline(v=2,col.line="blue",lty=2)})