2011-01-24 35 views
70

Thỉnh thoảng tôi cần tạo một ô trống. Đây là điều tốt nhất tôi có thể nghĩ ra.R - Làm thế nào để vẽ một ô trống?

plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='') 

Bất kỳ giải pháp đơn giản nào?

p.s 1: hoàn toàn trống, không có trục, v.v.

Cảm ơn!

Trả lời

75

Làm thế nào về một cái gì đó như:

plot.new() 
+0

@ Adam, tôi don' t biết những gì bạn có nghĩa là "R thích hợp". –

+0

@Joshua, xin lỗi plot.new() hoạt động tốt, không cần x11(). tôi nói R thích hợp bởi vì tôi nghĩ x11() là một phần của giải pháp của bạn, nhưng nó hoạt động mà không có nó. –

+1

@Adam 'x11()' là lệnh R đa nền tảng để mở một thiết bị mới. Nếu bạn có một thiết bị đang mở và gọi 'plot.new()', thiết bị hiện tại sẽ bị xóa. –

2
grid.newpage() ## If you're using ggplot 

grid() ## If you just want to activate the device. 
+0

'grid()' không liên quan đến gói lưới AFAIK – baptiste

15

Adam, sau bình luận của bạn ở trên ("Tôi muốn âm mưu trống để đóng vai trò như chất độn trong một âm mưu multiplot (mfrow)."), Những gì bạn thực sự muốn là tùy chọn mfg

par(mfg=c(row,column)) 

- điều khiển nơi bạn muốn đặt ô tiếp theo. Ví dụ, để đặt một âm mưu ở giữa một multiplot 3x3, làm

par(mfrow=c(3,3)) 
    par(mfg=c(2,2)) 
    plot(rnorm(10)) 
3

Có một quan tâm đến giải pháp của bạn mà plot.new() không có mặc dù: trong cốt truyện có sản phẩm nào bạn "vẽ" bạn có thể viết văn bản ở tọa độ được chỉ định với text(x = ..., y = ..., your_text).

35

Tôi đề nghị ai đó cần tạo một ô trống để thêm một số đồ họa vào nó sau này. Vì vậy, sử dụng

plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10)) 

bạn có thể chỉ định giới hạn trục của đồ họa.

16

Đây là nhẹ đơn giản hơn giải pháp ban đầu của bạn:

plot(0,type='n',axes=FALSE,ann=FALSE) 
9

Sau đây không vẽ bất cứ điều gì trong cốt truyện và nó sẽ vẫn còn trống.

plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel") 

Điều này hữu ích khi bạn muốn thêm đường hoặc dấu chấm sau đó trong vòng for hoặc tương tự. Chỉ cần nhớ thay đổi các giá trị xlimylim dựa trên dữ liệu bạn muốn vẽ.

6

Bạn cần một cửa sổ cốt truyện mới, và cũng là một hệ thống phối hợp, vì vậy bạn cần plot.new()plot.window(), sau đó bạn có thể bắt đầu thêm các yếu tố đồ thị:

plot.new() 
plot.window(xlim=c(-5,5), ylim=c(-5,5)) 

points(rnorm(100), rnorm(100)) 
axis(side=1) 

example plot

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