ハドレーの本を勉強してここを検索した結果、時系列変数の変化率に応じて色が変化する年月のマトリックスからなるヒートマップが作成されました。ヒートマップとこれを取得するために使用したコードを以下に示します。私は私自身で解決できなかったいくつかの残りの質問があります。geom_tile()を使用したR ggplotヒートマップ:年単位で並べ替え、すべての年をy軸で表示する方法は?
1)y軸の年が最も古いものから最新のものになるように行列を並べ替える/並べ替えるにはどうすればよいですか?この場合、私は年を1995年の上から始め、y軸の下端で2011年まで続けたいと思っています。
2)毎年y軸に表示するが、代わりに5年ごとに表示したい。私は自分のコードのscale_y_dateがこれに対処すると考えましたが、影響はないようです。 y軸を毎年強制的に表示するにはどうすればよいですか?
3)これはまだggplot2の「やるべき」リストにあると思われますが、x軸ラベル(この場合はJan、Feb、Mar、Aprなど)を一番上に表示する方法はありますか下からではなくプロットの?最初の2点については
require(ggplot2)
mydf <- data.frame(date=seq(as.Date("1995/1/1"), by="month", length.out=203),yoy=runif(203, min=-1, max=1))
p_heat <- ggplot(mydf, aes(x=month(date,label=TRUE),y=year(date), fill = yoy, label = sprintf("%1.1f%%", 100*yoy),size=10)) +
scale_y_date(major="years", format="%Y") +
geom_tile() + geom_text(aes(size=10)) +
scale_fill_gradient2(low = "red", high = "green") +
scale_x_discrete(expand=c(0,0)) +
scale_y_continuous(expand=c(0,0)) +
opts(title="Value (%)") +
opts(panel.grid.minor=theme_blank()) +
opts(axis.ticks = theme_blank()) +
opts(panel.grid.major=theme_blank()) +
opts(axis.title.y = theme_blank()) +
opts(axis.title.x = theme_blank()) +
opts(legend.position = "none")
p_heat
男性の〜10%は負の値から正の値を区別するのが非常に難しいので、赤緑色のスキームは避けてください。 – hadley