通常 par("usr") 命令可以告诉您当前绘图区域的极值。但是这里有点难,因为冲积函数会调整函数内的mar图形参数。它将边距更改为c(2,1,1,1)。在函数结束时,它会将边距恢复到最初的状态。默认边距为 c(5, 4, 4, 2) + 0.1,表示绘图区域的底部、左侧、顶部和右侧外边距之间的行数(1 行 = 1/5 英寸)。查看par 的帮助页面并向下滚动,直到您到达 mai 以查看一个好的图表。冲积函数所做的另一项调整是将轴的默认 style 从常规 (xaxs="r", yaxs="r") 更改为内部 (xaxs="i", yaxs=" i"),这会使轴进一步延伸。
例如:
alluvial( tit2d, freq=tit2d$Freq, xw=0.0, alpha=0.8,
gap.width=0.1, col= "steelblue", border="white",
layer = tit2d$Survived != "Yes", blocks = F )
u <- par("usr"); u
par(new=TRUE)
plot(0, type= "n", xlab = "", ylab = "", las=1, xaxs = "i", yaxs = "i",
xlim=c(u[1], u[2]), ylim=c(u[3], u[4]))
rect(u[1], u[3], u[2], u[4], col = "red")
你会得到一个红色矩形填充大部分绘图区域。矩形极端和冲积极端之间的巨大差距是由于边缘的上述变化。
您可以尝试通过手动减小边距来模仿冲积功能,如下所示:
op <- par(mar=c(2,1,1,1))
par(new=TRUE)
plot(0, type= "n", xlab = "", ylab = "", las=1,
xlim=c(u[1], u[2]), ylim=c(u[3], u[4]))
rect(u[1], u[3], u[2], u[4], col = "green")
par(op)
你的绿色矩形现在应该覆盖整个冲积地。
编辑:
突出显示下部矩形:
par(new=TRUE, mar=c(2,1,1,1))
u <- par("usr")
rect(u[1], temp$endpoints[[1]][1,1], u[1]+0.2, # Note: cw has a default value of 0.1
temp$endpoints[[1]][1,2], col = "red")
rect(u[1]+1, temp$endpoints[[1]][1,1], u[1]+1.2,
temp$endpoints[[1]][1,2], col = "red")
rect(u[1]+2, temp$endpoints[[1]][1,1], u[1]+2.2,
temp$endpoints[[1]][1,2], col = "red")
编辑:感谢@Darren Tsai 指出像rect() 这样的低级绘图函数没有用于修改轴样式的“xaxs”参数,因为轴已经那里!