2017-08-19 12 views
0

変数の特定の範囲に基づいてパレット区切りを定義する方法はありますか? 例として0から1までの連続変数xをとります。私はとpalette定義:小冊子のパレット区切りを定義する

palette <- colorNumeric(palette = rev("RdYlGn"), domain = NULL, na.color = NA) 

と対応リーフレット機能では、私はとcolorを定義しました。しかし、ブレークが等間隔で定義され、これは見栄えの良いマップを返し

color = ~palette(x) 

[email protected]$x_brks <- cut(x, 
        breaks=c(0, 0.55, 0.65, 0.75, 0.85, 0.95, 1.0), 
        labels=c("<=0.55", ">0.55 and <=0.65", ">0.65 and <=0.75", 
          ">0.75 and <= 0.85", ">0.85 and <=0.95", ">0.95") 
        ) 
:0.0、0.2、0.4、...、1.0

は代わりに、私はと休憩を定義し

と同じパレットを維持したい(最低の範囲は赤で、最高の範囲は緑である)。私は複数のレイヤをプロットしており、それらのすべてに対して同じスケールを維持したいと考えています。

リーフレットのcolor = ~palette(x_brks)機能内でこの新しい変数x_brksを渡すことができませんでした。このエラーはError in Summary.factor(c(6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 5L, : ‘range’ not meaningful for factorsです。

これを達成するための最良の方法は何ですか?

答えて

0

はcolorBin

risk.bins <-c(0, 0.55, 0.65, 0.75, 0.85, 0.95, 1.0), 
risk.pal <- colorBin("plasma", bins=risk.bins, na.color = "#aaff56") 

を試してみて、その後、リーフレット機能に

color = ~ risk.pal(value), 

ラベルを手動で

labels=c("<=0.55", ">0.55 and <=0.65", ">0.65 and <=0.75", 
         ">0.75 and <= 0.85", ">0.85 and <=0.95", ">0.95") 
+0

感謝としてテキストを挿入することによりaddLegendに設定することができます!これは動作しますが、ラベルが定義どおりに表示されることはありません。私はなぜそれがうまくいかなかったかのラベルを使っていた。私はそれを色とラベルに変更しましたが、「色」と「ラベル」は同じ長さでなければなりません。 '色=〜パレット(値)、 ラベル= Cの( "<=0.55", "> 0.55と<=0.65", "> 0.65と<=0.75", "> 0.75と<= 0.85", "> 0.85と<=0.95", "> 0.95" 、"「) ' 注:'長(ユニーク(パレット(値))​​) 'はラベルのベクトルの長さに等しい7です。 –

+0

私はラベルの8を参照してください。最後のものは何ですか?空白? – pdbentley

+0

はい、それは「NA」のためですが、それがあってもなくても動作しませんし、同じエラーが発生します。 –

関連する問題