2017-03-21 2 views
0

凡例カテゴリを定義済みのカテゴリに分割する方法を教えてもらえますか?定義された色も各カテゴリに適用されます。凡例には5つのカテゴリ(0-15,15-30、...など)を定義する必要があり、カテゴリごとに色を定義する必要があります。定義済みの配色と凡例カテゴリ

私は以下のRコードを使用しています。

何か助けていただければ幸いです。

ありがとうございます。

county_choropleth(final, num_colors = 1) + 
    scale_fill_gradient2(c("red", "green", "blue", "yellow")[ceiling((0 : 60)/10)], 
         breaks = pretty(final$value, n = 5)) 

enter image description here

+0

この前の回答は役に立ちましたか? http://stackoverflow.com/a/33113398/5065588 – HelloWorld

+0

これは便利ですが、値の範囲を分類し、その範囲の値の各カテゴリに色を割り当てる方法があります。例えば、0-10(赤)、10-20(青)など – user3408139

+0

'c(' red '、' green '、' blue '、' yellow '、' black ')[天井((1:50)/ 10)] 'に変更しますが、1:50をプロットしようとしている値に置き換えます。あなたの範囲は1:50と仮定しているので、10で除算します。色の選択は完全にランダムでした。 – HelloWorld

答えて

0

リクエストから推測可能な解決策は、最小値から最大値までの範囲の5つのクラスにあなたの値を離散化することです。離散化は、関数cutで行うことができます。あなたはあなたのファクタにしたいブレークとラベルを渡します。 county_choroplethは、凡例にまったく同じ値を使用するため、ブレークの値を貼り付けるラベルをいくつか作成しました。私が作成したので、新しいdata.frameすべてのあなたの元のデータは、あなたがこのソリューションは、ハッキングのビットですが、それはあなたに5つの区間のための5つの色を与えるだろう

nBreaks <- 5 + 1 
breaks <- seq(min(final$value), max(final$value), length.out = nBreaks) 
intBreaks <- round(breaks) 
labels <- paste(intBreaks[1:nBreaks-1], intBreaks[(1+1):nBreaks], sep = ':') 
newFinal <- data.frame(value = cut(final$value, 
breaks = breaks, labels = labels), 
region = final$region) 
county_choropleth(newFinal, num_colors = 5) 

を再確認したい場合には、変更されないことに注意してください。 cutのブレークを調整すると、これは今や等間隔のシーケンスとして定義されており、より多くのカスタマイズ能力を提供します。 HTH

+0

ありがとうございます。どこにこれをコードに挿入できますか?上記のコードにこれを含める場所を教えてください。 – user3408139

+0

このリンクを使用して私のコードで使用したデータ(最終版)をダウンロードすることができます。 https://bft.usu.edu/p38jv – user3408139

+0

私はあなたが示唆したようにしましたが、出力は同じです。 – user3408139

関連する問題