当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R ggplot2 borders 创建Map边界层


这是获取Map数据的一种快速而肮脏的方法(从Map包)到你的地块上。如果您需要一些粗略的参考线,那么这是一个很好的起点,但您通常需要更复杂的通信图形。

用法

borders(
  database = "world",
  regions = ".",
  fill = NA,
  colour = "grey50",
  xlim = NULL,
  ylim = NULL,
  ...
)

参数

database

Map数据,详情参见maps::map()

regions

Map区域

fill

填充颜色

colour

边框颜色

xlim, ylim

提取Map多边形的纬度和经度范围,详细信息请参见maps::map()

...

参数传递给geom_polygon

rule

"evenodd""winding" 。如果正在绘制带孔的多边形(使用 subgroup 美学),则此参数定义如何解释孔坐标。有关说明,请参阅 grid::pathGrob() 中的示例。

mapping

aes() 创建的一组美学映射。如果指定且inherit.aes = TRUE(默认),它将与绘图顶层的默认映射组合。如果没有绘图映射,则必须提供mapping

data

该层要显示的数据。有以下三种选择:

如果默认为 NULL ,则数据继承自 ggplot() 调用中指定的绘图数据。

data.frame 或其他对象将覆盖绘图数据。所有对象都将被强化以生成 DataFrame 。请参阅fortify() 将为其创建变量。

将使用单个参数(绘图数据)调用function。返回值必须是 data.frame ,并将用作图层数据。可以从 formula 创建 function (例如 ~ head(.x, 10) )。

stat

用于该层数据的统计变换,可以作为 ggproto Geom 子类,也可以作为命名去掉 stat_ 前缀的统计数据的字符串(例如 "count" 而不是 "stat_count" )

position

位置调整,可以是命名调整的字符串(例如 "jitter" 使用 position_jitter ),也可以是调用位置调整函数的结果。如果需要更改调整设置,请使用后者。

show.legend

合乎逻辑的。该层是否应该包含在图例中? NA(默认值)包括是否映射了任何美学。 FALSE 从不包含,而 TRUE 始终包含。它也可以是一个命名的逻辑向量,以精细地选择要显示的美学。

inherit.aes

如果 FALSE ,则覆盖默认美学,而不是与它们组合。这对于定义数据和美观的辅助函数最有用,并且不应继承默认绘图规范的行为,例如borders()

na.rm

如果 FALSE ,则默认缺失值将被删除并带有警告。如果 TRUE ,缺失值将被静默删除。

例子

if (require("maps")) {

ia <- map_data("county", "iowa")
mid_range <- function(x) mean(range(x))
seats <- do.call(rbind, lapply(split(ia, ia$subregion), function(d) {
  data.frame(lat = mid_range(d$lat), long = mid_range(d$long), subregion = unique(d$subregion))
}))

ggplot(ia, aes(long, lat)) +
  geom_polygon(aes(group = group), fill = NA, colour = "grey60") +
  geom_text(aes(label = subregion), data = seats, size = 2, angle = 45)
}
#> Loading required package: maps


if (require("maps")) {
data(us.cities)
capitals <- subset(us.cities, capital == 2)
ggplot(capitals, aes(long, lat)) +
  borders("state") +
  geom_point(aes(size = pop)) +
  scale_size_area() +
  coord_quickmap()
}


if (require("maps")) {
# Same map, with some world context
ggplot(capitals, aes(long, lat)) +
  borders("world", xlim = c(-130, -60), ylim = c(20, 50)) +
  geom_point(aes(size = pop)) +
  scale_size_area() +
  coord_quickmap()
}

源代码:R/fortify-map.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Create a layer of map borders。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。