同じプロットに複数のデータ系列を含むヒストグラムを作成したいと考えています。これを行うために私が見つけることができる最良の方法はmulthist()
. に似たスタイルのプロットが必要です。またhist()
、ggplot()
このタスクを実行するためにも使用できますが、グラフィックス スタイルは私が望むものではありません。
以下にデータの例を示します。
df <- structure(list(year = c(2011L, 2011L, 2011L, 2011L, 2011L, 2011L,
2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L,
2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2012L,
2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L,
2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L, 2012L,
2012L, 2012L, 2012L), count = c(187L, 199L, 560L, 1000L, 850L,
400L, 534L, 911L, 390L, 1008L, 1173L, 1222L, 810L, 950L, 752L,
1125L, 468L, 710L, 290L, 670L, 855L, 614L, 1300L, 950L, 670L,
888L, 490L, 557L, 741L, 700L, 954L, 378L, 512L, 780L, 951L, 398L,
1544L, 903L, 769L, 1399L, 1021L, 1235L, 1009L, 1222L, 255L)), .Names = c("year",
"count"), class = "data.frame", row.names = c(NA, -45L))
そして、これまでに使用したコードは次のとおりです。
require(plotrix)
d2011<-df$count[df$year=="2011"]
d2012<-df$count[df$year=="2012"]
year<-list(d2011,d2012)
mh <- multhist(year, xlab="Count", ylab="Frequency", main="", cex.axis=1, col=c("dark gray", "light gray"), breaks=seq(0,1600, by=200))
box(bty="l", col="black")
legend.text<-c("2011","2012")
legend(locator(1), legend=legend.text, col=c("dark gray", "light gray"), pch=15, bty="n", cex=0.8)
これにより、「バープロット スタイル」のマルチ ヒストグラムが提供されますが、2 つのグラフ パラメータを変更する際に問題が発生します。
プロットを棒グラフではなくヒストグラムに近づけたいので、まず列間のスペースを削除 (または縮小) します。を使用してみ
space = NULL
ましたが、このコマンドは multhist では機能しないようです軸の目盛りがプロット上の棒の間に存在し、軸のテキストが棒の中点ではなく目盛りに揃えられるように、x 軸を変更したいと思います。を使用してみ
axis(side=1, …)
ましたが、マルチストはリスト オブジェクトを使用してプロットを作成するため、これらのコマンドは機能しないようです。
どんな提案でも大歓迎です。複数のデータセットでヒストグラムをプロットできる他の便利なグラフィック パッケージの提案も歓迎します。