我尝试使用R中的maps-package创建地理地图。我不确定这是否是“选择包”。
我试图用蓝色背景,白色大陆地区和红色国家边界绘制世界地图。但看起来,如果没有用黑色绘制国家边界,就不可能填充区域。我的错是什么?
library(maps)
# Show the World map without country border,
# with black continent boundaries on a bluish background
map("world", interior=F, boundary=T, bg="#ddeeff", col="black")
# Fill continental areas in white
map("world", col="white", interior=F, fill=TRUE, add=T)
# Add country borders in red
map("world", interior=T, boundary=F, col="red", add=T)
使用?map
给我:
fill - 逻辑标志,表示是否绘制线条或填充区域。如果为FALSE,则将绘制限定每个区域的线(但对于内部线,仅绘制一次)。如果为TRUE,则将使用col =参数中的颜色填充每个区域,并且不会绘制边界线。
我的R版本是:
平台x86_64-apple-darwin9.8.0
拱x86_64
os darwin9.8.0
system x86_64,darwin9.8.0
状态
专业2 未成年人13.0
2011年 月04日 第13天 svn rev 55427
语言R
version.string R版本2.13.0(2011-04-13)
答案 0 :(得分:4)
(黑色边界上有一定数量的红色过度绘图 - 我无法找到完全摆脱这种情况的方法。)
library(maps)
map("world", interior=TRUE, fill=TRUE, boundary=FALSE, col="white", bg="lightblue")
map("world", interior=TRUE, boundary=TRUE, col="red", add=TRUE)
ggplot
:(使用ggplot
,您可以完全控制所有颜色,并且没有过度绘制。但渲染需要更长的时间......)
library(ggplot2)
library(maps)
mapWorld <- borders("world", colour="red", fill="white")
ggplot() +
mapWorld +
geom_path() +
opts(
plot.background=theme_rect(fill="lightblue"),
panel.background=theme_rect(fill="lightblue")
)
答案 1 :(得分:2)
可以在单个地图中更改边框的颜色&#39;命令:
map("world", fill=TRUE, col="white", bg="lightblue", border="red")
&#34; border =&#39; red&#39;&#34;选项没有在&#39;?map&#39;中明确记录,因为它实际上是&#34; polygon()&#34;的直接选项。从map()内部调用。它是&#34; ...&#34;的一部分。在map()中调用。
答案 2 :(得分:1)
使用基本图形:
为了避免过度绘图,您可以在第一次调用中将lty
参数设置为0以填充国家/地区而不绘制黑色边界。
library(maps)
map("world", interior=TRUE, fill=TRUE, boundary=FALSE, col="white", lty=0, bg="lightblue")
map("world", interior=TRUE, boundary=TRUE, col="red", add=TRUE)