1

米国本土の R でマップを作成したいと思います (maps パッケージを使用)。1 つの州が黒 (CA) で塗りつぶされ、1 つの州 (TX) がクロスハッチまたはその他のパタ​​ーンで塗りつぶされます。残りの州には、塗りつぶしのない黒い境界線が必要です。簡単な解決策があると確信していますが、まだ見つけていません。

4

3 に答える 3

4

私は最近同じ問題を抱えていましたが、州が多すぎてポリゴンで手動でハッチングできませんでした。特定の州のマップにdensity=10を追加するだけで、ハッチングされたバーで塗りつぶされるようです。

したがって、ここの例では、次を試してください。

map("state")     
map("state", add = TRUE, region = c("texas"), density=10, fill=TRUE)
map("state", add = TRUE, region = c("california"),  fill=TRUE)

ここでアイデアを得ました: 地理空間ポリゴンをパターンで埋める - R

于 2014-07-29T19:06:19.403 に答える
3

状態データを保存して再プロットすることで、これを機能させることができます。polygon状態ポリゴンの輪郭が、それ自体を2倍にすることなく正しい順序で描画されるように、少し手を加える必要があります。必要な操作の量は、必要な状態ポリゴンによって異なります。この場合、私はテキサスとニューメキシコの国境を逆転させなければなりませんでした。

library(maps)
map("state")     
tempplot <- map("state", add = TRUE, region = c("texas"),plot=FALSE)

# fix the border with new mexico to draw it in the correct order
tempplot$x[829:861] <- tempplot$x[861:829]
tempplot$y[829:861] <- tempplot$y[861:829]

polygon(
  na.omit(tempplot$x),
  na.omit(tempplot$y),
  border=1,
  density=10
)

map("state", add = TRUE, region = c("california"), fill=TRUE, col="black")

うん! 私はすべてここテキサスで孵化しました!

于 2013-01-29T00:52:21.477 に答える
1

これは良いスタートになるはずです。

library(maps)
map('state')     
map("state", col = "black", fill = TRUE, add = TRUE, region = c('california'))
map("state", col = "red", fill = TRUE, add = TRUE, region = c('texas'))

PS:クロスハッチの塗りつぶしパターンは一般的に不承認です。だから私はここでテキサスを赤で塗りつぶします。

編集

1つの選択肢は、状態を区別するためにltylwdで遊ぶことです。トリッキーに見えますが、結果は明らかです。

map("state", lty = 3)
map("state", col = "black", fill = TRUE, add = TRUE, region = c('california'))
map("state", lty=1,lwd = 3, fill = FALSE, add = TRUE, region = c('texas'))

ここに画像の説明を入力してください

于 2013-01-29T00:23:25.763 に答える