Barplot的传奇错误

时间:2018-03-16 19:10:06

标签: r bar-chart lattice

我试图将一个图例添加到条形图中。但是我收到了这个错误: strwidth错误(图例,单位="用户",cex = cex,font = text.font):   plot.new还没有被调用

我认为这可能是我的设置而且图例被推离图表 - 但是当我更改我的mar和par设置时,我似乎无法显示图例。实际上,我的oma和par设置根本不会改变我的图形(我是否以某种方式重置了设置)。我使用dev.off()重置为我的默认值,但是没有用。

由于

Barplot

h<-c(4,12,3,36,4,3,2,10,35,41)

treat<-factor(rep(c(rep(c("one","two"),c(5,5))),1))

plot<-factor(c(rep(LETTERS[1:5],2)))

barchart(h~treat,data=df,groups=plot, ylim=c(0,60), ylab="Tips",
         col = gray.colors(6),scales=list(x=list(cex=0.8))) 


legend("top",legend=1:5)

1 个答案:

答案 0 :(得分:1)

barchart有一个auto.key参数,默认情况下会将图例置于顶部:

barchart(h~treat,data=df,groups=plot, ylim=c(0,60), ylab="Tips",
         col = gray.colors(6),scales=list(x=list(cex=0.8)), auto.key=TRUE)

enter image description here

由于它是一个格子绘图程序,你需要使用print来查看文件图形设备中的任何内容:

 png(); print( barchart(h~treat,data=df,groups=plot, ylim=c(0,60), ylab="Tips",
    col = gray.colors(6),scales=list(x=list(cex=0.8)), auto.key=TRUE) ); dev.off()