2

作成しようとしている 2 つのコロプレス マップがあります。最初のものはうまくいきました。しかし、別のvalue列を使用してコード/メソッドを複製すると、凡例が印刷されません。2 つのコード セットの違いは、2scale_fill_brewer()番目のプロットの挿入にあります。scale_fill_brewer()オーバーライドを使用していますc$legendか?

たとえば、これは機能します:

head(ra, 5)
           region value
    1     alabama   106
    2  california   622
    3    colorado    22
    4 connecticut    86
    5    delaware    43
 str(ra)
'data.frame':   51 obs. of  2 variables:
 $ region: chr  "alabama" "california" "colorado" "connecticut" ...
 $ value : num  106 622 22 86 43 7 232 19 10 121 ...

    c = StateChoropleth$new(ra)
    c$legend = "# of stores"
    c$set_num_colors(4)
    c$set_zoom(NULL)
    c$show_labels = FALSE
    without_abbr = c$render()
    without_abbr 

生産する

ただし、次の結果は凡例の「値」になります。

head(ra, 5)
    region      value
    1    alabama  5.8703474
    2     alaska  0.4880526
    3    arizona  4.8851831
    4   arkansas  2.7045759
    5 california 35.2607419

    > str(ra)
    'data.frame':   51 obs. of  2 variables:

 $ region: chr  "alabama" "alaska" "arizona" "arkansas" ...
 $ value : num  5.87 0.488 4.885 2.705 35.261 ...

    c = StateChoropleth$new(ra)
    c$title = "Total Sales"
    c$legend = "$ billions"
    c$set_num_colors(4)
    c$set_zoom(NULL)
    c$show_labels = FALSE
    without_abbr = c$render()
    without_abbr + scale_fill_brewer(palette=2) # palette 2 is green

ここに画像の説明を入力

4

1 に答える 1

2

いつもchoroplethrをご利用いただきありがとうございます。

これを試して:

without_abbr + scale_fill_brewer(name="legend title", palette=2) 

ここに画像の説明を入力

問題は、ggplot2 が凡例 (スケール) を処理する方法にあります。パラメータを使用してスケール/凡例に手動で名前を付けるオプションがありnameます。それ以外の場合は、列の名前を使用しているように見えます。

于 2016-08-04T17:56:29.073 に答える