ワールドマップをプロットするとき、ggplot2
に問題があります:実際には表示されていないプロットのコーナーを含め、同じ色で背景全体を色付けします世界中、次のコード(それはbleadingエッジにsf
ABD ggplot2
のバージョンを使用していますが、問題は一般的なものであり、下記のブログ記事を参照)によって生成以下のスナップショットを参照してくださいされるためにggplot2(とsf)の世界地図用の全地球ポリゴン
#install.packages("devtools")
#devtools::install_github("tidyverse/ggplot2")
#devtools::install_github("edzer/sfr")
library(ggplot2)
library(sf)
library(rnaturalearth)
library(dplyr)
theme_map <- function(...) {
theme_minimal() +
theme(
text = element_text(family = "Ubuntu Regular", color = "#22211d"),
axis.line = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid.minor = element_line(color = "#ebebe5", size = 0.2),
panel.grid.major = element_line(color = "#ebebe5", size = 0.2),
plot.background = element_rect(fill = "#f5f5f2", color = NA),
panel.background = element_rect(fill = "#f5f5f2", color = NA),
legend.background = element_rect(fill = "#f5f5f2", color = NA),
panel.border = element_blank(),
...
)
}
crs <- "+proj=laea +lat_0=52 +lon_0=10 +x_0=00 +y_0=3210000 +datum=WGS84 +units=m +no_defs"
ctrys50m <- ne_countries(scale = 50, type = "countries", returnclass = "sf") %>%
select(iso_a3, iso_n3, admin)
ggplot() +
geom_sf(data = ctrys50m, alpha = 0.15, fill="grey") +
coord_map() +
coord_sf(crs = crs) +
theme_map()
を地球の輪郭をうまくプロットできるD3.js
特別にGeoJSON type
、{type: "Sphere"}
が追加された、アクションhereで見ることができるthis threadを参照してください。それは、次のスナップショット内外装地球全体の黒のボーダーである:
私が見つけた唯一のトリックR
/ggplot2
は、ブログストーリーMapping the Longest Commericial Flights in Rで、Bounding box and graticulesセクションとmake_bbox
とproject_recenter
の機能を参照して、Matt Strimas-Mackeyによって発行されたものです。
これら
は、コードのかなり多くあり、私はいくつかのsf
または
geom_sf
コードはクリーン/シンプルなコードになるだろうかどうか迷ったので、私が試した:私は何を得ることがちょうど余分である
# whole world WSG84 bounding box
sphere <- ne_download(category = "physical", type = "wgs84_bounding_box", returnclass = "sf")
sphere_laea <- st_transform(sphere, crs)
ggplot() +
geom_sf(data = sphere, fill = "#D8F4FF") +
coord_sf(crs = crs) +
geom_sf(data = ctrys50m, alpha = 0.15, fill="grey") +
coord_map() +
coord_sf(crs = crs) +
theme_map()
」 (北極からの線に注意してください)海洋#D8F4FF
... とポリゴンはかなり下に不規則です(D3.jsの師は精確を高めるためにいくつかのスマートなadaptive resampling投影された線の...)
ggplot2ワールドマップの世界全体のポリゴンを取得しようとした私の試みで何が間違っているかについてのアイデアはありますか? (ここまで読んでくれてありがとう!)
: 次のコードは、非常に良い結果を(後の画像を参照)を与えます。より良いポリゴンを得るために 'ne_countries(scale = 10、...)'を使用しますが、そうでなければ実行可能な解決策です。ありがとう! – espinielli
私は非常に良い結果を得ました。すなわち、球体の定義は次のようになりました。球体の定義は次のようになりました。球体st_graticule(ndiscr = 10000、margin = 10e-6)%>%st_transform(crs = crs)%>%st_convex_hull ()%>%summarize(ジオメトリ= st_union(ジオメトリ)) ' – espinielli