20

の上限を変更すると、scale_fill_gradient20付近の色分布は常に対称であるように見えるため、0未満の値のカラースケーリングにも影響します。色値の非対称分布を取得する方法はありますか?

ここでは、以下を使用したプロットの最小限の例を示しますgeom_tile()

data <- read.csv("http://protzkeule.de/data.csv")
p <- ggplot(data = data, aes(x = variable, y = meas)) + geom_tile(aes(fill = value))

対称限界でプロット:

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.1))

ただし、上限を変更すると、カラーマッピングの下限も変更されます(カラーバーを確認してください)。

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.3))
4

1 に答える 1

28

あなたが欲しいのはですscale_fill_gradientn。しかし、議論はあまり明確ではありません(最終的にその一部を理解するのに1時間ほどかかりました):

library("scales")
p + scale_fill_gradientn(colours = c("blue","white","red"), 
                         values = rescale(c(-.1,0,.3)),
                         guide = "colorbar", limits=c(-.1,.3))

これは次のようになります。

ここに画像の説明を入力してください

于 2012-07-02T21:25:05.383 に答える