ggplotを使用して2つのレイヤーでファセットマップを作成しようとしています。 fortify
を用いてデータフレームになっggplot:複数のレイヤーを持つファセットマップ
head(poijoin)
NAME LAT LNG level1
ATM Bank Of America ATM @ WHC 38.92825 -77.01517 ShopService
ATM Bank Of America ATM 38.90577 -77.03654 ShopService
ATM Bank of America 38.91512 -77.02184 ShopService
ATM USAA ATM @CVS 38.91343 -77.03590 ShopService
ATM Bank of America ATM 38.95511 -77.02473 ShopService
他方は道路網の形状ファイルから来て、:一つは、CSVから作成された緯度/経度座標を含むデータフレームからのものである
head(streets_df)
LNG LAT order piece id group
1 -77.02704 38.90253 1 1 0 0.1
2 -77.02704 38.90303 2 1 0 0.1
3 -77.02704 38.90303 3 1 0 0.1
4 -77.02704 38.90304 4 1 0 0.1
5 -77.02704 38.90326 5 1 0 0.1
ggplot() +
geom_point(data = poijoin, aes(x = poijoin$LNG, y = poijoin$LAT)) +
geom_path(data = streets_df, aes(x = LNG, y = LAT, group = group))
:それらを個別にプロットするので、それらを重ね合わせない、うまく動作します210
(非常にきれいな、私は知っているが、私はここでのコードの基本的な部分に固執しようとしているわけではありません。)
私も問題なくポイント層をファセットことができます。
ggplot() +
geom_point(data = poijoin, aes(x = poijoin$LNG, y = poijoin$LAT)) +
facet_wrap(~ poijoin$level1, nrow=3)
しかし、ストリートをベースマップとして各ファセットに追加したい場合、私は立ち往生しています。この:
ggplot() +
geom_point(data = poijoin, aes(x = poijoin$LNG, y = poijoin$LAT, color = poijoin$level1)) +
geom_path(data = streets_df, aes(x = LNG, y = LAT, group = group)) +
facet_wrap(~ poijoin$level1, nrow=3)
は私を与える:
Error in `$<-.data.frame`(`*tmp*`, "PANEL", value = c(8L, 8L, 8L, 8L, :
replacement has 20983 rows, data has 200205
2つのデータフレームは、要素(20983点、200205通り)の数が異なるので、私はエラーが起動すると確信しているが、私はまだドン私が間違っていることを手に入れません。任意のポインタが評価!
私の答えを見てください。私はあなたの問題が '〜poijoin $ level1'であることをかなり確信しています – hrbrmstr