我有问题,我的传说太大,我的代码:
par(mfrow=c(1,2))
hist(alvsloss,breaks = 100, freq=F,main="Histogramm,
density curve (gaussian kernel) \n and fitted normal distribution of Allianz simple losses ",xlim=c(-0.15,0.15),xlab="loss",ylab="density",cex.axis=1.2,cex.lab=1.2)
lines(density(alvsloss), col="black", lwd=2)
curve(dnorm(x, mean = mean(alvsloss), sd = sd(alvsloss)), add=TRUE, col="black",lwd=2,lty="dotted")
legend(-0.155, 30, c("(Gaussian) Kernel density","fitted normal distribution"),lwd=2, cex=0.8,
col=c("black","black"), lty=1:2)
qqnorm(alvsloss,main="normal QQ Plot",cex.axis=1.2,cex.lab=1.2)
qqline(alvsloss)
这给出了以下图片:
问题是,左边的图例太大了,我该如何控制盒子的宽度?盒子太大了。
答案 0 :(得分:8)
图例右侧的空白区域告诉我您手动加宽了绘图窗口。在涉及手动重新调整大小时,传说不能很好地扩展。
解决方案是在绘图之前打开您需要的确切尺寸的图。在Windows中,这是通过windows(width=10, height=8)
完成的。单位是英寸。现在,周围的框应该与文本更紧密。
如果仍然不满意,你应该尝试:
cex=0.7
bty = "n"
周围的框并使用\n
将您的图例分成几行"topleft"
将您的图例更多地放在左侧
而不是坐标我将如何做到这一点:
legend("topleft",
legend=c("(Gaussian)\nKernel\ndensity","Fitted\nnormal\ndistribution\n"),
bty = "n",lwd=2, cex=0.7, col=c("black","black"), lty=1:2)