0

我要么似乎在绕圈子,要么我的数据有问题。我想绘制一些数据并用于?axis修改 X 轴上的标签。

但是我有两个问题:

  1. 轴标签从 x 轴的中心开始,而不是在开头
  2. 轴标签与图中的数据点不匹配

我希望 X 轴标签的范围从 10 到 90 x 5。

这是我到目前为止使用并提出的代码:

values <- cbind(1:180,1)

l <-    list(1:10,11:20,21:30,31:40,41:50,51:60,61:70,71:80,81:90,91:100,101:110,111:120,121:130,131:140,141:150,151:160,161:170,171:180)
# compute mean across the intervals in l
meanqual <- sapply(l, function(x) mean(values[x,1]))
meanqual
plot <- plot(meanqual, type="o", xlab="% Size of Wave", ylab="Values",xaxt='n', lty=1)
legend('bottomright', c("Values"),pch=21, lty=1, cex=1)
axis(side=1, at= seq(10,90,5))

我用从中心开始的 x 轴标签得到的图

4

1 回答 1

2

如果你只给一个数字向量来绘制它“假设”你的意思是使用该向量中值的位置或索引作为 x 值,所以 plot 调用绘制meanqual1:length(meanqual). 如果您想针对seq()您稍后在轴调用中使用的参数进行绘图,您应该将其提供(或者更确切地说是与 相同的length比例尺meanqualplot

plot <- plot(x=seq(5,90,5), y=meanqual, type="o", 
             xlab="% Size of Wave", ylab="Values",xaxt='n', lty=1)
legend('bottomright', c("Values"),pch=21, lty=1, cex=1)
axis(side=1, at= seq(10,90,5), labels=seq(10,90,5))
于 2013-07-04T22:27:30.403 回答