2016-06-19 4 views
0

パッケージviridisまたはRColorBrewerのカラーパレットを使用してプロットを作成したいが、変数分布のどの点を中間点として使用するかを設定したい。カラーグラデーション。viridisまたはRColorBrewerの色範囲の参照値を設定する

たとえば、次のプロットでは、Rは0.5からカラー範囲の中間点になります。別の値(たとえば、0.25)を設定するにはどうすればよいですか?

library(ggplot2) 
library(RColorBrewer) 

# data 
set.seed(1) 
df <- expand.grid(x = 0:5, y = 0:5) 
df$z <- runif(nrow(df)) 

# plot 
ggplot(df, aes(x, y, fill = z)) + geom_raster() + 
    scale_fill_distiller(palette="RdBu", guide = "colorbar") 

enter image description here

# plot using viridis 
library(viridis) 

ggplot(df, aes(x, y, fill = z)) + geom_raster() + 
    scale_fill_viridis() 

enter image description here

EDIT:私の変数の分布が対称ではないので、私は、ここではこれと同様のソリューションを探していました。しかし、私は色の範囲全体を濃い青色から暗い赤色に保ちたいと思います。これは不可能なようです。

ggplot(df, aes(x, y, fill = z)) + geom_raster() + 
    scale_fill_gradient2(low = "#2166ac", mid = "#f7f7f7", high = "#b2182b", midpoint = 0.2, 
         space = "Lab", na.value = "grey50", guide = "colourbar") 

enter image description here

+0

@Henrik私は詳細で質問を編集しました。 –

答えて

-1

たぶんzlimはあなたのデータの極端な値である

space = scale(c(-zlim, 0, zlim)) 

を設定してみてください。

関連する問題