2017-01-11 63 views
0
Test1 Test2 Test3 Test4 Test5 
0.048 0.552 0.544 1.0000 0.604 
0.518 0.914 0.948 0.0520 0.596 
0.868 0.944 0.934 0.3720 0.340 
0.934 0.974 0.896 0.1530 0.090 
0.792 0.464 0.096 0.7050 0.362 
0.001 0.868 0.050 0.3690 0.380 
0.814 0.286 0.162 0.0040 0.092 
0.146 0.966 0.044 0.4660 0.726 
0.970 0.862 0.001 0.4420 0.020 
0.490 0.824 0.634 0.5720 0.018 
0.378 0.974 0.002 0.0005 0.004 
0.878 0.594 0.532 0.0420 0.366 
1.000 1.000 1.000 0.3550 1.000 
1.000 1.000 1.000 0.3170 1.000 
1.000 1.000 1.000 0.3900 1.000 
0.856 0.976 0.218 0.0005 0.001 
1.000 1.000 1.000 0.4590 1.000 
1.000 1.000 1.000 0.5770 1.000 
0.640 0.942 0.766 0.0005 0.320 
1.000 1.000 1.000 0.0830 1.000 
0.260 0.968 0.032 0.0480 0.300 
0.150 0.480 0.108 0.0005 0.008 
0.686 0.150 0.400 0.0200 0.060 
0.002 0.346 0.004 0.0005 0.098 

私は24x5ヒートマップを作成したいと思います。自分のしきい値に基づいて色を設定したい。たとえば、すべての1.000の値を黒にしたいとします。私は0.500-0.999の間のすべての値を非常に薄い青色にしたいと思います。すべての値0.300-0.499を少し濃い青色にしたいと思います。すべて0.15-0.299の値がやや暗い。すべての値が0.10-0.149がやや暗く、すべての値が0.5-0.099がやや暗く、すべての値が0.025-0.049がやや暗く、すべての値が0-0.024が最も暗い。私はggplotとheatmap()を使ってみましたが、ユーザーが設定した色を知ることはできません。ありがとう!R制御された色と閾値を備えたヒートマップ?

+0

あなたがこれまで持っているコードを表示してください –

答えて

1

scale_color_gradient2() ggplotの機能はこれでうまくいくはずです。機能のこの部分の構文pはあなたのggplotからプロット(ある

p+scale_color_gradient(low='black',high='dodgerblue',mid='blue',midpoint=0.500, 
    limits=c(0,1)) 

だろう)+ geom_tile()[または、使用しているものは何でもヒートマップ機能]

は、ここでの仮定は、ということです連続した値がスライディングスケールに沿って変化するため、黒からドジャーブルーまでの流体スケールは気にしないでください。あなたが最初の値に基づいてグループにあなたのターゲット変数を割り当てダミー変数を作成したいなら、あなたは値= cで(あなたがここ行きたい色)と休憩の=のC(の値でscale_color_manual()機能を使用することができますあなたが作成したビンはここに行く)。このようなもの[単純化されたもので、あなたが概説したバケツの総数ではありません] -

p<-ggplot(dataset,aes(x=x,y=y,color=binned.var)+geom_tile()+ 
    scale_color_manual(values=c("darkblue","blue","dodgerblue","black"), 
         breaks=c("bin1","bin2","bin3","bin4"), 
         labels=c("0-0.024","0.025-0.049","0.05-0.099","0.10-0.149")) 

希望するものがあります。

関連する問題