2017-02-03 15 views
0

temp.spという名前のデータフレームの列に応じて、(連続)値で色分けされた国の世界地図を作成しています。これらのマップのいくつかをグラフに入れたいと思います。 をgeom_mapとし、それぞれのマップを構成し、multiplot()を使ってグラフを構築して表示すると、gridコードが使用されます。geom_mapがgSimplifyで簡略化されたGeoJSONマップで失敗する

私はGeoJSONマップ(world <- readOGR(dsn = "ne_50m_admin_0_countries.geojson", layer = "OGRGeoJSON"))を使用しています。結果として得られるSpatialPolygonsDataFrameは4.1Mbであり、worldMap <- broom::tidy(world, region = "iso_a3")の結果のデータフレームは93391行です。ですから、4つのプロットファイルでmultiplotを実行すると、時間がかかります。

world.simp <- gSimplify(world, tol = .1, topologyPreserve = TRUE)のようなコードを使用してgSimplifyで世界地図を単純化して印刷を高速化できると思っていました。結果のデータフレームworldMap.simpには27033行しかありませんが、このマップを使用するとエラーメッセージError in unit(x, default.units) : 'x' and 'units' must have length > 0が表示されます。

このコードをworldMap.simpで実行すると、エラーメッセージが生成されます。私はworldMapを使用するときに問題はありません。

gg <- ggplot(temp.sp, aes(map_id = id)) gg <- gg + geom_map(aes(fill = temp.sp$value), map = worldMap.simp, color = "white")

私はtemp.sp $値を因数に変換しようとしましたが、違いはありませんでした。要約すると、gSimplifiedマップを使用すると、ggplotおよびgeom_mapを使用して生成されたグラフの表示が失敗します。

答えて

関連する問題