2015-10-05 4 views
1

Я хочу создать участок, похожий на this. Тем не менее, я бы хотел, чтобы сплошная линия разделила эти два окна на точечные. Я немного искал в Интернете, но я все еще не нашел ничего полезного. Любые идеи будут высоко оценены.Добавить пунктирную линию между окнами с двумя окнами

layout(matrix(1:2,ncol=1),widths=1,heights=c(2,2),respect=FALSE) 
par(mar = rep(0, 4), oma=c(4, 4, 4, 2), las=1) 
plot(rnorm(100), type='l', ann=FALSE, xaxt='n') 
plot(rnorm(100), type='l', ann=FALSE) 

title("Hi", outer=TRUE) 
mtext("x-axis", 1, 3, outer=TRUE) 
mtext("y-axis", 2, 3, outer=TRUE, las=0) 

ответ

1

Вы можете переписана границу верхнего окна нижнего участка с одним из них:

abline(h= par("usr")[4], lty=3,col="white",xpd=TRUE, lwd=2) 

    # there is some bleed-through so to get a definite black-white dotted line needed to repeat the graphics call 
    corners=par('usr') 
    replicate(3, segments(x0= corners[1], x1= corners[2], 
         y0= corners[4], y1= corners[4], 
         lty=3,col="white",xpd=TRUE, lwd=2)) 

гайки. Выход png() отличается от выхода на интерактивном устройстве (quartz()).

enter image description here

+0

Спасибо за ваш ответ. Я думаю, что в конце кода «replicate» отсутствует скобка. –

1

Маленький обходной путь. Нужно выяснить, где именно вы перенастраиваете границу. Будет просто пойти с чем-то вроде этого:

set.seed(1234) 
par(lty=1) 
layout(matrix(1:2,ncol=1),widths=1,heights=c(2,2),respect=FALSE) 
par(mar = rep(0, 4), oma=c(4, 4, 4, 2), las=1) 
plot(rnorm(100), type='l', ann=FALSE, xaxt='n') 
plot(rnorm(100), type='l', ann=FALSE) 
par(lty=2) 
abline(h=3.27, col="white") 
par(lty=1) 

enter image description here

+0

Спасибо за ваши усилия. –

+2

тривиальное редактирование, введите def.par <- par (no.readonly = TRUE) в верхней части кода и, par (def.par) внизу. – user1945827

Смежные вопросы