2013-01-06 30 views
5

Tôi có 6 số ô trong R và tôi muốn vẽ chúng trong một lần xem. Nói cách khác, tôi muốn đặt chúng vào một trang duy nhất có kích thước A4.Đặt nhiều ô trong một tờ A4 bằng cách sử dụng mã R

Mã cốt truyện tôi đang sử dụng là:

plot(temp$ambtemp,type="o", pch=22, lty=2, col="brown",xlab = "Hour 2007/09/30" , ylab= "Tempreture") 

title(main="Hourly Mean, node 25", col.main="brown", font.main=1) 

Bất kỳ đề nghị?

Trả lời

7

Dưới đây là một ví dụ tái sản xuất như thế nào bạn có thể làm điều này:

pdf('eg.pdf', width = 8.3, height = 11.7) ## Device with dimensions of A4 paper 
par(omi = rep(.5, 4))      ## 1/2 inch outer margins 
par(mfrow = c(3,2))      ## 2x3 grid of plotting areas 
replicate(plot(rnorm(99)), n = 6)   ## 6 example plots 
dev.off() 
3

Chức năng layout cho phép bạn phân vùng một thiết bị duy nhất (ví dụ: a papge A4) thành nhiều khu vực mà bạn có thể sử dụng cho ô.

+0

Và làm thế nào tôi có thể đặt số lượng ô trong một bố cục đơn. – Topdombili

+0

Bạn sử dụng chức năng 'layout' để báo cho R cách phân vùng thiết bị. Sau đó, bạn chỉ cần gọi 'ô' một số lần tương ứng. Giả sử bạn có bố cục 2x2. Cuộc gọi đầu tiên tới 'ô' sẽ vẽ biểu đồ ở góc trên cùng bên trái. Các cuộc gọi tiếp theo sẽ vẽ trong tất cả các phân vùng khác lên đến tổng cộng 4 ô sau khi đã gọi là "cốt truyện" 4 lần. –

2

Cách đơn giản nhất nếu bạn sử dụng đồ họa chuẩn là với par(mfrow=c(3,2)). Không cần gì khác. Tuy nhiên, tôi đặc biệt khuyên bạn nên xem đồ họa lattice hoặc ggplot2 nếu bạn muốn tạo biểu đồ nhiều ô rất đẹp (cũng là câu trả lời cho câu hỏi cuối cùng).

+0

+1 cho mạng hoặc ggplot2, mặc dù điều này chỉ hoạt động nếu lô là cùng một lô nhưng đối với các cấp độ khác nhau của một yếu tố trong dữ liệu. Ví dụ: 'a' so với' b' cho mọi cấp độ 'c'. Nếu lô là hoàn toàn khác nhau, mặt hoặc lưới sẽ không hoạt động tối ưu. Ofcourse, 'ggplot2' và' lattice' có các phương tiện riêng để đạt được kết quả tương tự như 'par (mfrow)'. –

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