我正在使用布局绘制多个内容,我想在其中一些图中添加箭头。我尝试了grid.curve和grid.lines()但到目前为止没有运气。 以下是我想做的一个例子:
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)到plot(layout.pos.col = 2,layout.pos.row = 2)和一个从(layout.pos.col = 2,layout.pos.row = 2)到(layout.pos.col = 3,layout.pos.row = 3)。有没有简单的方法来添加这些?
提前致谢!
答案 0 :(得分:3)
arrows
一个去。
两个简单的黑色直箭:
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
对绘制绘图区域之间的绘图非常重要。
答案 1 :(得分: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)