我试图将一个图例添加到条形图中。但是我收到了这个错误: strwidth错误(图例,单位="用户",cex = cex,font = text.font): plot.new还没有被调用
我认为这可能是我的设置而且图例被推离图表 - 但是当我更改我的mar和par设置时,我似乎无法显示图例。实际上,我的oma和par设置根本不会改变我的图形(我是否以某种方式重置了设置)。我使用dev.off()重置为我的默认值,但是没有用。
由于
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)
答案 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)
由于它是一个格子绘图程序,你需要使用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()