R 使用multhist和图例保存png

R 使用multhist和图例保存png,r,histogram,legend,R,Histogram,Legend,以下代码在不保存png(无dev.off()或png())时有效,但在其他情况下会产生以下两个错误之一: require(plotrix) approaches = c("X", "Y", "Z") lifespans <- list(c(1,2,3,4), c(3,4,5,6), c(1,6,4,1,1,3)) color.names <- c("grey24", "dark grey", "grey90") png("lifespans_multhist.png") multhi

以下代码在不保存png(无dev.off()或png())时有效,但在其他情况下会产生以下两个错误之一:

require(plotrix)
approaches = c("X", "Y", "Z")
lifespans <- list(c(1,2,3,4), c(3,4,5,6), c(1,6,4,1,1,3))
color.names <- c("grey24", "dark grey", "grey90")
png("lifespans_multhist.png")
multhist(lifespans, xlab="Lifespan / seconds", ylab="Frequency")
#legend("topright", approaches, fill=color.names)
dev.off()
RStudio有时显示图形,有时不显示。程序从未输出所需的png。我尝试改变传奇一代的位置和其他变体,但没有成功。我完全不知所措


编辑:更新了最低工作示例的代码。

我相信在没有绘图的情况下调用legend()是不可能的,它会混淆设备区域(“什么的右上方”)的位置。我怀疑这一点,并尝试将其放在multhist之后,但没有成功。不过,感谢您的想法。请发布一个最小的自包含可复制示例,包括需要加载的任何包(plotrix?)完成。我可以不使用图例保存,但不能使用图例保存。我一直收到新的.plot错误。你的代码对我有用
Error in strwidth(legend, units = "user", cex = cex, font = text.font) : 
  plot.new has not been called yet

Error in is.matrix(height) && beside : invalid 'y' type in 'x && y'