2013-07-04 19 views
0

我似乎在圈內運行或者數據出現問題。我想繪製一些數據並使用?axis來修改X軸上的標籤。X軸標籤從中間開始並且與數據點不匹配

我有但是兩個問題:

  1. 標籤在x軸的中心,而不是在開始時開始軸
  2. 軸標籤不情節相匹配的數據點

我想通過5.

這有X軸標籤10至90範圍內的是,我使用和到目前爲止想出的代碼:

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)) 

the plot that I get with x axis labels beginning in the center

+0

當你繪製矢量,R假定x值只是整數1到矢量的長度,在本例中我認爲是18。所以這就是爲什麼R將標籤放置在x軸上的原因。 – joran

+0

您似乎想要17軸刻度標籤。你必須決定你希望他們去的範圍是1-18,然後在'axis'中同時使用'at'和'labels'。 – joran

回答

2

如果你只給一個數字矢量繪製它「假設」你的意思是使用該向量作爲x值的值的位置或索引,這樣的情節通話繪製meanqual反對1:length(meanqual)。如果你想暗算了seq()參數,你在軸上使用後者叫你應該把它(或具有相同lengthmeanqual相似,而一些規模)提供給plot

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))