2012-11-13 32 views
5

Tôi không chắc chắn nếu nó có thể làm những gì tôi muốn. Tôi muốn vẽ một trục x với hai vảy như hình dưới đây. Cảm ơn rất nhiều,Hai vảy trên cùng một trục

enter image description here

+0

Wouldnt đó được chỉ hai ô riêng biệt, cạnh nhau với p bên phải nhiều mà không có trục y? –

+0

có tất nhiên. đó là một giải pháp đơn giản và hiệu quả. Chúc mừng, Rafael – Rafael

Trả lời

8

ggplot2 phiên bản có thể trông như thế này:

library(ggplot2) 

x = c(1,2,3,4,5, 10,20,30,40,50) 
y = c(1,2,2,3,4, 2,1,3,5,5) 
# You should introduce cond - condition to separate axises - by yourself 
df = data.frame(x=x,y=y,cond=ifelse(x>5,"x2","x1")) 

ggplot(df, aes(x,y,group=cond)) + geom_line() + geom_point(aes(shape=cond), size=4) + facet_grid(.~cond, scales="free_x") 

nào tạo ra âm mưu này: enter image description here

+0

Giải pháp tuyệt vời, cảm ơn !! – Rafael

1

Tôi không hoàn toàn chắc chắn, nhưng như là một điểm khởi đầu, hãy nhìn vào ?facet_grid() trong ggplot2.

Lấy hai ô cạnh nhau không được quá khó. Sau đó, bạn có lẽ sẽ muốn tắt các trục và sau đó thêm lại quy mô thích hợp

yêu cầu Google về axis.line = theme_blank()

Chúc may mắn!

+0

Cảm ơn rất nhiều! Rafael – Rafael

7

Đây là phiên bản sử dụng đồ họa cơ sở R. Bạn có thể có thể chơi với nó nhiều hơn một chút để có được những thứ chỉ là cách bạn muốn nó, nhưng đây là cơ bản những gì bạn đang sau.

plot.new() 
par(mfcol=c(1,2)) 
plot(1:5,ann=FALSE,bty="n",type="l",ylim=c(0,25)) 
grid(ny=NA) 
par(mar=c(5.1, 0, 4.1, 2.1)) 
plot(c(10,20,30,40,50),c(8,5,15,20,20),yaxt="n",ann=FALSE,bty="n",type="l",ylim=c(0,25)) 
grid(ny=NA) 
par(new=TRUE) 
par(mfcol=c(1,1)) 
par(bty="l") 
par(mar=c(5.1, 4.1, 4.1, 2.1)) 
plot(NA,ylim=c(0,25),type="n",xaxt="n",yaxt="n",ann=FALSE) 
box() 
grid(nx=NA,ny=NULL) 

enter image description here

Edit- snazzed nó lên một chút

+0

Tôi cũng có thể đề xuất 'axis.break' từ' plotrix'? [LINK] (http://uspace.shef.ac.uk/servlet/JiveServlet/showImage/2-12478-3980/gap_plot.png) +1 –

+0

Cảm ơn, nó trông đẹp. – Rafael

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