家の家、部屋、ベッドをそれぞれ表す3つのshpファイルがあります。 Rを使ってグラフ上にそれらをプロットして、すべてが互いに重なるようにする必要があります。私はplot
関数では、line
を使用して既存のプロットの上に新しい線をプロットすることができますが、spplot
に相当するものはありますか?ありがとう。Rootのspplotを使って複数のshpファイルをプロットする
8
A
答えて
0
あなたはspplot
でsp.layout
引数を使用することができます。あるいは、ggplot2を使用することもできます。いくつかの例のコード(未テスト):ggplot2
で
library(ggplot2)
shp1_data.frame = fortify(shp1)
shp1_data.frame$id = "shp1"
shp2_data.frame = fortify(shp2)
shp2_data.frame$id = "shp2"
shp = rbind(shp1_data.frame, shp2_data.frame)
ggplot(aes(x = x, y = y, group = group, col = id), data = shp) + geom_path()
は、データの列は、プロットのグラフィックスケールにリンクされています。この場合、x
はx座標、y
はy座標、group
は、ポイントが属するポリゴンを指定するdata.frame shpの列であり、col
はポリゴンの色です。私が使用したジオメトリはgeom_path
です。ポリゴンの入力data.frameに基づいて一連の線を描きます。代わりにgeom_poly
を使用することもできます。geom_poly
はポリゴンの塗りつぶしもサポートしています。
17
はここlatticeExtraパッケージから気の利いたlayer()
機能を使用して、1つのアプローチです。また
# (1) Load required libraries
library(sp)
library(rgeos) # For its readWKT() function
library(latticeExtra) # For layer()
# (2) Prepare some example data
sp1 = readWKT("POLYGON((0 0,1 0,1 1,0 1,0 0))")
sp2 = readWKT("POLYGON((0 1,0.5 1.5,1 1,0 1))")
sp3 = readWKT("POLYGON((0.5 0,0.5 0.5,0.75 0.5,0.75 0, 0.5 0))")
# spplot provides "Plot methods for spatial data with attributes",
# so at least the first object plotted needs a (dummy) data.frame attached to it.
spdf1 <- SpatialPolygonsDataFrame(sp1, data=data.frame(1), match.ID=1)
# (3) Plot several layers in a single panel
spplot(spdf1, xlim=c(-0.5, 2), ylim=c(-0.5, 2),
col.regions="grey90", colorkey=FALSE) +
layer(sp.polygons(sp2, fill="saddlebrown")) +
layer(sp.polygons(sp3, fill="yellow"))
、あなたがspplot()
さんsp.layout=
引数を経由して同じ結果を得ることができます。 (first=FALSE
を指定すると、「屋根」と「ドアが」/ spplot()
の最初の引数として与えられた灰色の四角形以上の後にプロットされるようになります。)
spplot(spdf1, xlim=c(-0.5, 2), ylim=c(-0.5, 2),
col.regions="grey90", colorkey=FALSE,
sp.layout = list(list(sp2, fill="saddlebrown", first=FALSE),
list(sp3, fill="yellow", first=FALSE)))
関連する問題
- 1. SHPファイルのプロットR
- 2. R - マトリクスレイアウトを使って複数のラスタをプロットする
- 3. matlabを使ってマップのポリゴンの色をshpファイルから変更する
- 4. 中央値データを使って複数の時系列プロットをプロットするR
- 5. Rのプロット関数を使用してポイントを使って複数の線をプロットするには?
- 6. パンダと複数のy軸を使ってプロットする
- 7. csvをshpに変換する:複数のcsvに対して重複したshp
- 8. 複数の `.shp`ファイルを1つのオブジェクトとして読み込みますか?
- 9. matplotlibを使って複素数(Argand Diagram)をプロットする方法
- 10. 異なる線のスタイルを使って複数のヒストグラムをプロットするpython
- 11. .shpファイルへのパス
- 12. 複数のファイルから複数のプロットをプロットし、複数のpdfsをrに保存するループ
- 13. Python/Pandas/Bokeh:データフレームの凡例を使って複数の行をプロットする
- 14. プロット関数を使ってRをプロットする
- 15. Gnuplot:複数のデータを1つのプロットに複数プロットする
- 16. matlabで複数のプロットをプロットする
- 17. R信頼区間を使って複数のロットフィットモデルをプロットする
- 18. ggplotを使って自動的に複数のデータセットをプロットする方法は?
- 19. pythonで複数の行を使って図をプロットする方法
- 20. matplotlibを使ってylableに複数の色をプロットする方法は?
- 21. Pythonで複数のパラメータを使ってf(X、Y)をプロットする
- 22. Rループを使った複数グラフ関数のプロット
- 23. R:ggplotのループを使って1つのプロットに複数の線をプロットする方法
- 24. mapplyを使ってggplotを使って複数のヒストグラムを個別にプロットする
- 25. swagger-node:swaggerを使って "project edit"を使って$ ref(複数ファイル)
- 26. シャントPythonを使って複数のファイルをコピーする
- 27. ZendFramework - zend_http_clientを使って複数のファイルをアップロードするには?
- 28. Javaで.shpファイルを開く
- 29. ルーメンを使って複数のファイルをアップロードする方法複数のファイルをアップロードする
- 30. ggplot2:ループを使用して複数のボックスをプロットする
ベースプロットではできないspplotのどの部分が必要ですか? spオブジェクトでは、最初のものをプロットし、次にadd = TRUEをプロットして他のものをオーバーレイします。なぜミックスにspplotを持って来るのですか? – Spacedman