2017-06-21 12 views
2

y軸に年を指定した回転棒グラフを作成しようとしています。ある年は値(すなわち棒)を有し、残りはゼロである。横棒グラフ:軸の単位が一致しない

何らかの理由で、何年かのy軸を追加すると、バーとその値が反映された年の間にミスマッチがあります。なぜこのようなことが起こり、どうやって回避するのか説明できる人がいれば、感謝しています。ここで

は私のデータのサブセットです:

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) 

最初の値は、1867年に発生しますが、チャート上の1868に表示されます。 x [8]が1.82を返し、y [8]が1867を返すのでデータは問題ないと思います。これは正しいです。ミスマッチはシリーズを増幅します。確かに最後の3つのバーは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

関連する問題