R如何绘制带箭头的坐标轴

Python010

R如何绘制带箭头的坐标轴,第1张

R绘制带箭头的坐标轴,两个参数需要提前设置

第一,xpd=NA,否则绘制箭头只会显示一半

xpd参数说明:A logical value or NA. If FALSE, all plotting is clipped to the plot region, if TRUE, all plotting is clipped to the figure region, and if NA, all plotting is clipped to the device region. 

第二,横纵坐标由于默认是多增加4%的区间,因此要么设置xaxs=“i" 和 yaxs ="i",让坐标轴交于结束位置

或者直接用par()['usr'][[1]] 找出绘制的起点和终点

在R语言中,这两个参数的取值包括 5种,其中"r"是默认值,就是我们上边讲到的添加4%的一个距离,"i" 代表的行为是原始数据的最小值到最大值是多少,对应的坐标轴的起始和终止位置就是多少

举例:par(xpd=NA)

plot(c(1:10),c(1:10),type="l",bty="l",xlab="X",ylab="Y")

ord<-par("usr")

arrows(x0 = ord[1],y0=ord[3],x1=ord[2]*1.05,y1=ord[3])

arrows(x0 = ord[1],y0=ord[3],x1=ord[1],y1=ord[4]*1.05)

绘制

许多R 的高级图形自身就含有坐标轴,此外你可以用低级图形函数axis() 设置你自己的坐标轴。坐标轴主要包括三个部分:轴线(axis line)(线条格式由图形参数lty控制),刻度(tick mark)(划分轴线上的刻度) 和刻度标记(tick label)(标记刻度上的单位)。这些部分可以通过下面的图形参数设置。lab=c(5, 7, 12) 前两个参数分别是x 和y 轴期望的刻度间隔数目。第三个参数刻度标记的字符长度(包括小数点)。这个参数设的太小会导致所有的标记变成一样的数字。las=1 刻度标记的方向。0 表示总是平行于坐标轴,1 表示总是水平,以及2 表示总是垂直于坐标轴。mgp=c(3, 1, 0) 三个坐标成分的位置。第一个参数是轴标签相对轴位置的距离,以文本行作为参照单位的。第二个参数表示刻度标记的距离,最后一个参数是轴位置到轴线的距离(常常是0)。正值表示在图形外,负值表示在图形内。tck=0.01 刻度的长度,以画图区域大小的比率作为度量。当tck 比较小(小于0.5),x 和y 轴上的刻度强制大小一致。值为1时,给出网格线。负值时刻度在图形外。tck=0.01 和mgp=c(1,-1.5,0)表示内部刻度。xaxs="r"yaxs="i" 分别设定x 和y 轴的形式。"i" (内在的) 和"r" (默认) 形式的刻度都适合数据的范围,但是"r" 形式的刻度会在刻度范围两边留一些空隙(S 还有一些在R 里面没有实现的刻度形式)。