SpatialPolygonsオブジェクトのポリゴンの塗りつぶしの色と境界線の色を変更するにはどうすればよいですか?


25

プロットしたいSpatialPolygonsまたはSpatialPolygonsDataFramesがあります。Rの3つのプロットシステム(ベースグラフィックス、ラティスグラフィックス、およびggplot2)を使用して色を変更するにはどうすればよいですか?

サンプルデータ:

library(sp)
Srs1 = Polygons(list(Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))), "s1")
Srs2 = Polygons(list(Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))), "s2")

SpDF <- SpatialPolygonsDataFrame( SpatialPolygons(list(Srs1,Srs2)), 
            data.frame( z=1:2, row.names=c("s1","s2") ) )
spplot(SpDF, zcol="z")

テストマップ

回答:


33

基本グラフィックス(plot

基本グラフィックスの場合col=、塗りをborder=設定し、境界線の色を設定します。

plot(SpDF, col="red",border="green")

コロプレスマップが必要な場合はcol=、各ポリゴンのデータ値に対応する色のベクトルに設定します。

基本グラフィックス

ラティスグラフィックス(spplot

基本グラフィックスとは異なりcol=、格子グラフィックスのオプションは境界線の色を制御します。境界線がない場合は、またはを設定しcol=NAcol="transparent"ます。

spplot(SpDF, zcol="z", col=NA)

境界はない

ポリゴン塗りつぶし、セット用のcol.regions標準R配色(へgrayrainbow.colorstopo.colors、など)。

spplot(SpDF, zcol="z", col.regions=gray(seq(0,1,.01)))

col.regions

ggplot2

ggplot2の場合と同様に、レベルを指定し、配色を選択します。ただし、プロット全体のスキームをオーバーライドできます。ある時点で従うべき詳細。


すばらしい質問/回答。おそらく、背景色の設定に関する情報を追加したいと思うでしょう。で背景色を設定するにはspplot、を使用しますpar.settings = list(panel.background=list(col="lightblue"))
-nograpes
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.