我想用R来生成一个非常基本的世界地图,其中一组特定的国家用红色填充,表明它们是疟疾流行国家.
我在数据框中列出了这些国家/地区的列表,但我正在努力将它们叠加在世界地图上.
我已尝试使用该wrld_simpl对象以及包中的joinCountryData2Map方法rworldmap.
我会评论这个答案,以防止增加一个可能多余的问题,但我目前没有足够的声誉,为此道歉.
我很难理解plot()命令的参数- 我想知道是否有一种简单的方法告诉R在wrld_simpl地图上列出我的列表中的所有国家名称而不是使用grepl()等等.
plot(wrld_simpl,
col = c(gray(.80), "red")[grepl("^U", wrld_simpl@data$NAME) + 1])
Run Code Online (Sandbox Code Playgroud) 我有一个纬度和经度坐标列表,并希望找出它们所在的国家/地区.
我修改了一个关于lat-long到美国各州的问题的答案,并且有一个工作功能,但我遇到的问题是worldHires地图(来自mapdata包裹)可怕地过时并且包含许多过时的国家,如南斯拉夫和苏联.
如何修改此函数以使用更现代的包,例如rworldmap?到目前为止,我只是挫败了自己...
library(sp)
library(maps)
library(rgeos)
library(maptools)
# The single argument to this function, points, is a data.frame in which:
# - column 1 contains the longitude in degrees
# - column 2 contains the latitude in degrees
coords2country = function(points)
{
# prepare a SpatialPolygons object with one poly per country
countries = map('worldHires', fill=TRUE, col="transparent", plot=FALSE)
names = sapply(strsplit(countries$names, ":"), function(x) x[1])
# clean up polygons that are out of …Run Code Online (Sandbox Code Playgroud) 有没有办法获得rworldmap包在我想要加入数据时支持的国家,地区(?)和大陆的列表?
我做了一些谷歌搜索,我刚开始用R.
谢谢.
我想在R中生成一个类似于本页下面的世界网络地图.
我一直在寻找一个允许我这样做的R包,但我找不到.有D3 JavaScript的网络图来自R,但我找不到一个世界网络图的例子.
如何在R中创建类似的东西?
我使用包mapdata使用此代码,但它只显示我选择的三个国家,我看不到世界其他地图边界.
map("world",
regions=c("ethiopia", "kenya", "uganda"),
exact = TRUE,
fill=TRUE,
col=c(1,2,3))
Run Code Online (Sandbox Code Playgroud)
在突出显示我选择的三个国家的同时,如何展示世界其他地图的边界?
我正在尝试使用rworldmap生成一个图形,使用我的数据框dagg.ETA:数据.这是我到目前为止所拥有的.
library(rworldmap)
data(dagg)
sPDF <- joinCountryData2Map(dagg, joinCode='ISO2',
nameJoinColumn='country', verbose='TRUE')
mapDevice()
mapCountryData(sPDF, nameColumnToPlot='avoidance',
numCats=10, mapTitle="Avoidance", addLegend=TRUE)
dev.off()
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,没有任何东西出现.控制台显示"null device 1".它刚刚工作,我不确定它有什么改变它...
也许我没有使用合适的设备?
ETA:这是我正在阅读的rworldmap的纲要.
我用"rworldmap"包制作世界地图.我正在使用一个函数来访问UN Comtrade的交易数据.
我编辑了我原来的问题所以我可以展示一个我正在做的事情的真实例子.这是我可以制作的地图:
library(rjson)
library(rworldmap)
get.Comtrade <- function(url="http://comtrade.un.org/api/get?", maxrec=50000,
type="C", freq="A", px="HS", ps="now", r, p, rg="all",
cc="TOTAL", fmt="json") {
string <- paste(url
, "max=", maxrec,"&" # maximum no. of records returned
, "type=", type, "&" # type of trade (c=commodities)
, "freq=", freq, "&" # frequency
, "px=", px, "&" # classification
, "ps=", ps, "&" # time period
, "r=", r, "&" # reporting area
, "p=", p, "&" # partner country
, "rg=", rg, "&" # trade flow …Run Code Online (Sandbox Code Playgroud) 我有一个相当高清晰度的全局地图栅格,想要绘制文件,但似乎无法保持分辨率.绘制受限区域的工作正常,但无论采用何种方法,整个世界总是以降低的分辨率结束.我在这里错过了什么吗?我经常在没有这个问题的情况下输出高分辨率栅格,但在这种情况下我无法确定原因.为了显示:
require(raster)
require(rworldmap)
data(countriesCoarse); worldmap = countriesCoarse
worldmap@data = data.frame(x = rep(1,length(worldmap))) # uniform vector
x_res = 3600; y_res = 1800
r0 <- raster(extent (-180,180,-90,90), ncol=x_res, nrow=y_res, crs=crs(worldmap))
rastermap <- rasterize(worldmap, r0, 'x') # ~ 2 mins
# small-area plot confirms raster's data resolution is ok
plot(rastermap, col='grey', xlim=c(-10,5), ylim=c(49,60), asp=T, axes=F, box=F, legend=F)
# the resolution is maintained for limited-area plot to file
png('plot0.png', width=x_res, height=y_res)
plot(rastermap, col='grey', axes=F, box=F, legend=F, xlim=c(-10,5), ylim=c(49,60), asp=T)
dev.off(); browseURL('plot0.png')
# but outputting …Run Code Online (Sandbox Code Playgroud) 我已经制作了一个传单地图,以在R传单网络地图上覆盖某些国家/地区,但是投影/布局似乎出了点问题,俄罗斯的一部分发现了它在相邻框架中的位置。

代码:
library(rworldmap)
library(countrycode)
## country is in text
cnt <- c("Russia","Afghanistan", "Albania"," Algeria"," Argentina"," Armenia", "Azerbaijan"," Bangladesh"," Belarus")
#convert to ISO3 code
iso3 = countrycode(cnt, "country.name", "iso3c")
df= as.data.frame(cnt)
malMap <- joinCountryData2Map(df, joinCode = "ISO3", nameJoinColumn = "cnt")
## subset data
dfapr <- malMap[malMap$ISO3 %in% iso3, ]
plot(dfapr)
Run Code Online (Sandbox Code Playgroud)
我们如何解决这个问题。是任何低分辨率的世界地图,在其中我们可以根据ISO代码选择国家/地区,并且在几何上更加一致。
早上好,我花了很多时间弄清楚如何在情节上直接添加国家名称,而不是像传奇的一部分,而是像地图的一部分.我正在使用包rworldmap,尝试使用identifyCountries ()- 但它是用于交互的东西(当用户点击地图时),而不是我找到了一个这样的解决方案
一个国家的行政区域地图与ggmap和ggplot2,但它是ggplot2,太复杂了.我试着这样做mapCountryData().希望对你有所帮助,谢谢.
data <- data.frame(Country=c('Russia','Cyprus', 'Belize', 'Austria' ,'Virgin Islands',
'Italy','United States' ,'United Kingdom', 'Germany', 'France' ,'Poland' ,'Switzerland'),
Value=c(-0.310,-0.206,-0.300,-0.179,-0.196,-0.174,-0.105,-0.142,-0.082,-0.097,-0.027,0.052))
library('rworldmap')
pdf1 <- joinCountryData2Map(data, joinCode="NAME", nameJoinColumn="Country")
mapCountryData(pdf1, nameColumnToPlot="Value", catMethod="pretty",
colourPalette='white2Black',addLegend='TRUE',mapTitle=NULL, mapRegion="Europe")
Run Code Online (Sandbox Code Playgroud)