- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在绘制一张 map ,该 map 应该覆盖来自数据集的多个(> 400)箭头,其中每个箭头的起点和终点都有纬度/经度对。以下是使用 dput 的数据子集:
df <- structure(list(Lat = c(49.34054, 49.34068, 49.3409, 49.34106,
49.34116, 49.34133, 49.34138, 49.34144, 49.34155, 49.34164, 49.34168,
49.34178, 49.34179, 49.34187, 49.34199, 49.34202, 49.3421, 49.34219,
49.34226, 49.34236, 49.3424), Lon = c(-117.76365, -117.76433,
-117.76474, -117.76575, -117.76646, -117.76607, -117.76643, -117.76676,
-117.76611, -117.76638, -117.76678, -117.76612, -117.7671, -117.76678,
-117.76776, -117.76745, -117.76706, -117.76815, -117.76778, -117.76762,
-117.76812), LatEnd = c(49.3404216917208, 49.3404813977525, 49.3407696999527,
49.3409218055133, 49.3408834255181, 49.3411571438575, 49.3411444104952,
49.3412068979592, 49.3413453850968, 49.3414853385912, 49.3414067819334,
49.3415646398153, 49.3415782191525, 49.3416671210859, 49.341769715577,
49.3418702688525, 49.3418749917805, 49.3419107724121, 49.3418905356976,
49.3421097403974, 49.3419881060831), LonEnd = c(-117.76319214364,
-117.763951728004, -117.76423214535, -117.765201260725, -117.766005995062,
-117.765592930919, -117.765831425366, -117.766367701412, -117.765558298351,
-117.765915748408, -117.766324336458, -117.765721708226, -117.766709104693,
-117.766420637063, -117.767340559198, -117.767000983228, -117.766699658212,
-117.767827633167, -117.767235785716, -117.767302080608, -117.767699155441
)), .Names = c("Lat", "Lon", "LatEnd", "LonEnd"), row.names = c(244L,
263L, 293L, 313L, 330L, 351L, 359L, 369L, 390L, 409L, 414L, 426L,
427L, 435L, 442L, 443L, 448L, 450L, 455L, 457L, 459L), class = "data.frame")
我以前使用过 ggmap,因此这是我第一次尝试:
library(ggplot2)
library(ggmap)
prep <- get_googlemap(
center = c(-117.7670, 49.34027), #Long/lat of centre, or "Edinburgh"
zoom = 17,
maptype = 'hybrid', #also hybrid/terrain/roadmap/satellite
scale = 2)
map <- ggmap(prep,
size = c(100, 200),
extent='device',
darken = 0.5,
legend = "bottom",
base_layer = ggplot(data = df, aes(x = Lon, y = Lat)))
p <- map +
geom_segment(aes(xend = LonEnd, yend = LatEnd),
arrow = arrow(length = unit(0.2,"cm"), angle = 15), size = 0.3, colour = "white")
这产生了一个非常奇怪的结果 - 一些箭头的头部绘制在错误的方向。
然后我开始尝试使用 geom_path 代替。它纠正了头部的方向,但要求我单独输入数据集的每一行作为 geom_path 的输入。我做了一个 for 循环,但显然发生的事情是,每次添加一层(“i”增加一层)时,所有先前的层都会消失。
Lons <- cbind(df$Lon, df$LonEnd)
Lats <- cbind(df$Lat, df$LatEnd)
map <- ggmap(prep,
size = c(100, 200),
extent='device',
darken = 0.5,
legend = "bottom",
base_layer = ggplot(data = df[1,], aes(x = Lon, y = Lat)))
p <- map + geom_path(aes(x = Lons[10,], y = Lats[10,]),
arrow = arrow(length = unit(0.2,"cm"), angle = 15), size = 0.3, colour = "white")
for(i in 2:nrow(Lats)){
p <- p + geom_path(aes(x = Lons[i,], y = Lats[i,]),
arrow = arrow(length = unit(0.2,"cm"), angle = 15), size = 0.3, colour = "white")
} #i
任何帮助将不胜感激......
最佳答案
这是通过将 ends="first"
选项添加到 arrow()
调用中实现的解决方案。此外,还需要通过将 x
重新分配给 xend
等来反转段方向。
感谢 Google 和 https://collab.firelab.org/svn/big-butte/forecast_tools/plotObsVectors.R
使用geom_segment
的原始代码在标准ggplot
图中使用时工作正常,所以我认为ggmap
正在做一些意想不到的事情箭头和线段。可能值得通知作者。
library(grid) # provides `arrow` function.
p0 <- ggplot() +
geom_segment(data=df, aes(x=Lon, y=Lat, xend=LonEnd, yend=LatEnd),
arrow = arrow())
map <- ggmap(prep, size=c(100, 200), extent="device", darken=0.5,
legend="bottom")
p1 <- map +
geom_segment(data=df, aes(x=LonEnd, y=LatEnd, xend=Lon, yend=Lat),
arrow=arrow(ends="first"), colour="white")
library(gridExtra)
ggsave(arrangeGrob(p0, p1, nrow=1), file="plots.png",
width=12, height=6, dpi=150)
关于r - 向 ggmap 添加一堆箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747706/
当我尝试将 ggmap 与形状文件结合时,我遇到了剪切问题。 Kahle 和 Wickham (2013: 158) 中的示例工作正常,因为来自 ggmap 的光栅图像覆盖了整个形状文件。下面是当我尝
我正在尝试解决以下问题。 我使用 ggplot2 绘制岛屿 map : island = get_map(location = c(lon = -63.247593, lat = 17.631598)
我正在生成一些 map ,我想在 ggmap 上显示县的边界路线图。这是使用德克萨斯州部分地区的示例。 library(ggmap) map = get_map(location = c(-95.31
我有一个城市和相关信息的列表,我已经放在一个数据框中,如下所示: library(plyr) library(dplyr) library(ggmap) library(Imap) cities <-
我试图用 ggmap 在北极绘制一个特定区域.该地区的中心在纬度附近。 80 长。 0,不幸的是只显示灰色背景和经纬度轴。我试图绘制不同的区域,我的代码似乎适用于每个位置,除了纬度以外的区域。 73.
我正在使用一个空间数据集(主要是一个城市区域上的多边形),并且我想根据不同的缩放级别来产生不同的 View 。 当绘图边界框大于包含多边形的区域时,一切都很好。但是在放大时,某些多边形会得到边界框之外
我正在尝试使用 ggmap 在 map 上绘制点,但我不知道如何从 map 背景中删除国家名称 library(ggmap) library(mapproj) map tbl plot<-ggmap
我正在使用 ggmap,希望有一张以澳大利亚为中心的世界地图,我可以轻松地绘制地理编码点。与其他一些 map 包相比,ggmap 似乎更容易使用。然而,当我使用下面的代码浏览 map 时,它会出错。
我最近遇到了 ggmap 函数的问题 - 从来没有遇到过。 我有这个data.frame: > head(df) longitude latitude freq 1 -118.7093 34.13
我在 ggmap 包中使用了 Stamen 背景 map 。我想用 "#C0C0C0" 替换光栅背景图像中的所有黑色元素(即颜色 "#000000" - 基本上看起来更像 toner light 背景
我想用 R 和 ggmap 包可视化一个数据框。 df: | lon | lat | |-----------|-----------| | 6.585863 | 51.09
我正在使用 ggmap 来查找位置。某些位置会产生错误。例如, library(ggmap) loc = 'Blue Grass Airport' geocode(loc, output = c("m
我想知道是否有人使用 ggmap 围绕纬度/经度点绘制圆半径?例如,我想绘制一个给定的点,然后在该点周围 2,500 英尺的半径范围内绘制和着色。我脑子里有一个关于如何使用更大的圆周公式来做到这一点的
是否可以将 ggmap 保存到本地文件? 上下文:我需要一个大区域的高分辨率 map ,它需要 stamen服务器好久才搞定。我认为最好先获取 map ,然后将其保存到文件中,然后再处理本地副本。 我
我正在 ggmap 上绘制路线和点,我需要添加一个图例来列出点代表的名称 IE。 1 比尔哈里斯, 2 安妮·琼斯 等等.. 我已经准备好了样本数据。 structure(list(business.
一张图片胜过千言万语: 观察到的行为:从上图可以看出,国家名称与其实际几何形状不匹配。 预期行为:我想正确地将数据框与其几何图形连接起来,并在 ggmap 中显示结果。 我以前加入过不同的数据框,但显
我正在尝试绘制一些显示完整人口的信息,然后按 map 上的位置绘制该人口的子集。我见过使用同心圆或 3-d 倒锥体来表达这一点的数据可视化。我就是不知道怎么做 ggplot/ggmap 这是 Pain
我想在谷歌的灰色 map 上绘制各个城市的数据点。由于这些城市彼此之间有一些距离,我想我会使用多面图。 创建 map 很容易;请参阅下面的图像和代码。但是,每个方面都显示相同的区域 - 在本例中为大伦
我有以下代码。 library(ggmap) x = geocode("641123",output='all') x$results[[1]]$geometry$location$lat 显示 55
我想在 ggmap 上绘制热图。 library(ggmap) turku<-get_map('turku', zoom=13) turkumap<-ggmap(turku, extent
我是一名优秀的程序员,十分优秀!