2017-06-21 109 views
2

我正在嘗試在y軸上創建一個帶有年份的旋轉條形圖。某些年份具有價值(即酒吧),其餘爲零。水平條形圖:錯配軸單位

由於某些原因,當我添加一個y軸的年份時,酒吧和價值反映的年份之間會出現不匹配。如果有人能解釋爲什麼會發生這種情況以及如何解決這個問題,我將不勝感激。

這是我的數據的一個子集:在1867年出現

x <- c(0, 0, 0, 0, 0, 0, 0, 1.82, 0, 0, 0, 0, 0, 1.04, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.28, 0, 0, 0, 0, 0, 0, 0, 0, 1.43, 1.55, 0, 0, 0, 0, 0, 0, 0, 1.22, 1.14, 2.05, 0, 0, 0, 0, 0) 
y <- 1860:1909 

barplot(x, horiz=TRUE, axes=F) 
axis(2, at=seq(1, 50, 2), labels=seq(1860, 1909, 2), las=2) 

的第一個值,但在1868年出現在圖表上。我相信數據沒有問題,因爲x [8]返回1.82,y [8]返回1867,這是正確的。通過該系列的失配放大;事實上,最後三個柱線位於y軸上方。

也許我錯過了一些基本的東西......很多預先感謝。

回答

2

barplot()不會在整數值上繪製條形圖。它返回它用作矩陣的值,然後你可以用它來標記座標軸

bp <- barplot(x, horiz=TRUE, axes=F) 
axis(2, at=bp[,1][seq(1,50, by=2)], labels=seq(1860, 1909, 2), las=2) 
+0

很多很多,謝謝。 – DNS