我试图在baseR绘图循环中为y轴的序列定义一些选项。我试图通过使用if else
语句来实现这一点,其中我定义了像这样的轴标签
if(any(y < 100000 & y > -100000)){plotlabels <- c(-20000000, 20000000, 10000)} else {plotlabels <- c(-20000000, 20000000, 1000)}
然后是情节循环,然后我就像这样调用y轴的axis()
命令
axis(2, at = seq(plotlabels), cex.axis=1, labels=TRUE, tcl=-0.3)
但是这不能正常工作,因为我通过c()
使用plotlabels
来获取向量,如果我打印结果,我会得到以下内容
seq(plotlabels)
[1] 1 2 3
如何更改if else
语句,以便根据if else
语句(-20000000,20000000,10000或-20000000,20000000,1000)获取正确的序列参数?
答案 0 :(得分:0)
如果将seq
与至少包含两个元素的向量一起使用,则该函数会将数字从1返回到向量长度。
vec <- c(-10, 10, 2)
seq(vec)
# [1] 1 2 3
您可以使用以下方法之一来获得正确的序列:
seq(vec[1], vec[2], vec[3])
# [1] -10 -8 -6 -4 -2 0 2 4 6 8 10
do.call(seq, as.list(vec))
# [1] -10 -8 -6 -4 -2 0 2 4 6 8 10