1

を使用して測定のヒートマップを作成してggplot2います。データには正と負の値が含まれておりrainbow()、色付けにはパレットを使用します。

さまざまなデータ セットがあり、各データ セットの最小値、最大値、および 0 値に同じ色が割り当てられるように色をスケーリングしたいと考えています。を使用して最小値と最大値を設定することしかわかりませんでしたlimits=...

0 の特定の色を定義するにはどうすればよいですか?

これが私の最小限の例です。たとえば、rainbow(5) を使用する場合、3 番目の色をゼロの色にしたいと思います。

data <- read.csv("http://protzkeule.de/data.csv")
ggplot(data=data, aes(x=variable, y=meas)) + 
  geom_tile(aes(fill=value)) + 
  scale_fill_gradientn(colours=rev(rainbow(255)),limits=c(-.2,.4))
4

1 に答える 1

1

おそらく別のアプローチ: 私のプロットでは、色に使用される値をカットする方が簡単であることがわかりました:

ggplot(...) +
stat_bin2d (aes(fill=ifelse(..count..>20,20,..count..)), bins = 10) +
scale_fill_gradientn("Count", colours=c("blue", "yellow", "red")) + ...
于 2013-04-27T17:34:33.693 に答える