2013-03-15 10 views
7

Tôi có vấn đề, mà huyền thoại của tôi là quá lớn, mã của tôi:Huyền thoại hộp chiều rộng không chính xác khi sử dụng mệnh

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) 

Điều này cho phép các hình ảnh sau đây:

Graphs

Vấn đề là, truyền thuyết ở bên trái quá lớn, làm cách nào tôi có thể kiểm soát chiều rộng của hộp? Cái hộp quá lớn.

dữ liệu có thể được tìm thấy ở đây: http://uploadeasy.net/upload/ocafq.rar

+0

Nếu không có 'đối tượng avsloss', ví dụ của bạn là không tái sản xuất. – juba

+0

@juba dữ liệu đã được thêm –

+0

dữ liệu không còn nữa (như với tất cả các bài đăng khác của bạn nơi bạn sử dụng uploadeasy.net cho bộ dữ liệu alvloss). nó sẽ thực sự hữu ích để đưa dữ liệu (hoặc một mẫu phụ ngẫu nhiên của nó) vào chính bài viết đó. –

Trả lời

8

Không gian trắng trên bên phải của bạn huyền thoại nói với tôi rằng bạn tự mở rộng cửa sổ âm mưu của mình. Truyền thuyết không quy mô tốt khi nói đến việc định cỡ lại thủ công.

Giải pháp là mở một ô có kích thước chính xác mà bạn cần trước khi vẽ. Trong Windows, việc này được thực hiện với windows(width=10, height=8). Các đơn vị tính bằng inch. Hộp xung quanh bây giờ sẽ chặt hơn với văn bản.

Nếu đây là vẫn không thỏa đáng, bạn nên thử:

  1. Giảm cỡ chữ của huyền thoại cex=0.7
  2. Loại bỏ các hộp xung quanh truyền thuyết bty = "n" và sử dụng \n để chia huyền thoại của bạn vào một vài dòng
  3. bạn có thể đặt huyền thoại của bạn nhiều hơn bên trái sử dụng "topleft" thay vì tọa

Đây là cách tôi sẽ làm điều đó:

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) 

enter image description here

Các vấn đề liên quan