1

私のデータは次のようになります。

var1, var2, mean, std
1    , 2   , 3   , 4
etc..

これらをこのようなヒート マップにプロットしたいのですが、各セル内に次のスタイルでテキスト ラベルを追加したいと考えています: mean±std (つまり、平均プラスマイナス誤差)。上記の場合、セルの値は、var1 列 = 1 および var2 行 = 2 で 3±4 になり、他のセルでも同様に異なる値になります。

それがヒートマップであることは重要ではありません。ポイントまたはバーへのラベルである可能性があります。ラベルを生成して、各ラベルの文字列「平均±標準」を取得したいだけです:3±4。私の場合、次のように色が平均値に基づいたヒートマップを作成します: https://stackoverflow.com/a/14290705/1504411

ありがとうございました!

4

3 に答える 3

3

geom_text を使用してラベルを作成し、セパレータとしてプラスマイナス記号を使用して平均値と sd 値を貼り付けることができます (\u00B1 はそれぞれの Unicode です)。

dat <- data.frame(var1 = 1, var2 = 2, mean = 3, std = 4)

ggplot(dat) +
  geom_text(aes(x = 1, y = 2.5, label = paste(mean, std, sep = "\u00B1")))
于 2016-05-19T08:02:56.720 に答える
2

beetroot と Roland の回答のおかげで、これが機能する最終的なコードになりました (さらにいくつかのベルとホイッスル):

p1 <- ggplot(r_output, aes(var1, var2)) + 
    geom_tile(aes(fill = mean))+
    geom_text(aes(fill = mean, label = paste(round(mean, 2), round(std, 2), sep = "\u00B1")), size = 2)+            
    scale_fill_gradient(low = "red", high = "blue") +
于 2016-05-19T20:17:13.093 に答える