2016-05-27 11 views
2

私はレイアウトを使って複数のものをプロットしています。これらのプロットの間に矢印を追加したいと思います。私はgrid.curveとgrid.lines()を試しましたが、これまでのところ運がありません。ここ は私がやりたいものの例です:R:レイアウトのグリッドに矢印を追加する

mat <- cbind(matrix(c(1:3,0,4:5,0,6,7),3,3,byrow=T), 8:10) 
m<-layout(mat) 
layout.show(m) 
cars <- c(1, 3, 6, 4, 9) 
trucks <- c(2, 5, 4, 5, 12) 
plot(cars, type="o", col="blue") 
plot(trucks, type="o", pch=22, lty=2, col="red") 
plot(cars, type="o", col="blue", ylim=c(0,12)) 
lines(trucks, type="o", pch=22, lty=2, col="red") 
barplot(cars) 
barplot(trucks) 
hist(cars) 
pie(cars) 
library(gplots) 
textplot(mat) 

私はプロットし、プロットから(layout.pos.col = 2、layout.pos.row = 1)の矢印を追加したいです( layout.pos.col = 2、layout.pos.row = 2)と1つ(layout.pos.col = 2、layout.pos.row = 2)から(layout.pos.col = 3、layout.pos。行= 3)。これらを追加する簡単な方法はありますか?

ありがとうございます!

答えて

3

arrowsは、あなたが何か超高価なものを必要としない場合は、行くことができます。 2つの単純な黒のストレート矢印:私は、座標完全throught試行錯誤を考え出し

x <- -2 
y <- -0.1 
arrows(x0=x, y0=y, x1=x, y1=y-0.2, xpd=NA, length=0.05) 

x <- -1.55 
y <- -1.3 
arrows(x0=x, y0=y, x1=x+0.5, y1=y-0.6, xpd=NA, length=0.05) 

は、よりスマートな方法があるかもしれません。 xpd=NAは、描画領域間の描画を可能にするために重要です。

enter image description here

+0

私のレイアウトはこれより少し大きいので、座標を計算するのは面倒で時間がかかることがあります。私はいくつかの数字を試しましたが、矢印はまだありません。 – Noosh

+1

あなたは次のような座標を知ることができると思います: 'f lukeA

0

私は元素の形でそれを解決しようとしました。

: 
textplot(mat) 

par.old <- par(no.readonly=T)   # preserve old par 
par(new=T, mfrow=c(1,1), mar=c(0,0,0,0)) 
plot(0,0, type="n", axes=F, ann=F)  # make empty plot 

a <- locator(4)       # locator() returns xy coordinates at a click point 
# click on the plot four times (first arrow's start point, end point, second arrow's …) 

arrows(a$x[1], a$y[1], a$x[1], a$y[2], length=0.1) # use same x (a$x[2] is unnecessary). 
arrows(a$x[3], a$y[3], a$x[4], a$y[4], length=0.1) 

par(par.old) 
+0

ありがとうございますが、私はこれらのプロットを複数生成する必要があるので、私にとってはうまくいかないでしょうから、毎回locator()を使うのは意味がありませんし、layout()も使用しています。 – Noosh

関連する問題