私はMathematicaからRに切り替えていますが、私は視覚化でいくつかの問題を発見しています。連続グラデーションカラー&固定スケールヒートマップggplot2
私は次のようにヒートマップをやろうとしている:
short
penetration scc pi0
1 0 0 0.002545268
2 5 0 -0.408621176
3 10 0 -0.929432006
4 15 0 -1.121309680
5 20 0 -1.587298317
6 25 0 -2.957853131
7 30 0 -5.123329738
8 0 50 1.199748327
9 5 50 0.788581883
10 10 50 0.267771053
11 15 50 0.075893379
12 20 50 -0.390095258
13 25 50 -1.760650073
14 30 50 -3.926126679
15 0 100 2.396951386
16 5 100 1.985784941
17 10 100 1.464974112
18 15 100 1.273096438
19 20 100 0.807107801
20 25 100 -0.563447014
21 30 100 -2.728923621
mycol <- c("navy", "blue", "cyan", "lightcyan", "yellow", "red", "red4")
ggplot(data = short, aes(x = penetration, y = scc)) +
geom_tile(aes(fill = pi0)) +
scale_fill_gradientn(colours = mycol)
を私はこの取得:
をしかし、私はこのような何かが必要です。
ことをそうです、私は色が、それぞれのために離散ではなく、プロットの表面上で連続的(劣化)であることを望みます 平方。他の人の質問ではデータを補間する人がいることがわかりましたが、ggplotの呼び出しの中で簡単に行うべきだと思います(Mathematicaはデフォルトで行われます)。
さらに、私は0が常に白である(したがって、正の値は暖かい色、負の値は冷たい色が分離されます)、色の分布は範囲から独立してプロット全体で常に同じになるようにロックしたいと思います(私はいくつかのデータセットの同じプロット構造を使用しますので)データの
は
を、正しい関数は 'scale_fill_gradient2(中間点= 0であります、low = "あなたのネガカラー"、mid = "white"、high = "あなたのポジティブカラー")。これはゼロを常に白くするように制限します。 – Brian