gpt4 book ai didi

r - 在R的ggmaps上加载 map PNG的栅格数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:45 24 4
gpt4 key购买 nike

这将交叉张贴在 R 的邮件列表中。

我有一张 png 格式的 map ,所以我不会使用 get_map 函数。我已经从 png 中提取了栅格数据,我希望按 R 显示器上的原样加载 map ,然后我想在其上绘制一个点。

所以,这是我尝试过 ggmaps 的方法。该程序编译正常。这里的问题是没有显示任何输出。

library (png)
library (ggmap)

latitude = c(40.702147,40.718217,40.711614)
longitude = c(-74.012318,-74.015794,-73.998284)

# Reads a PNG and outputs a raster array.
img <- readPNG (system.file ("img", "My.png", package="png"))

df <- data.frame (latitude, longitude)

# img: raster array read from the map png.
ggimage (img, fullpage = TRUE) + geom_point (data = df, aes_auto (df), size = 2)

qplot (latitude, longitude, data = df, colour = I("red"), size = I(3))

当然我做错了什么。请指出。

> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] ggmap_2.1 ggplot2_0.9.1 png_0.1-4

loaded via a namespace (and not attached):
[1] colorspace_1.1-1 dichromat_1.2-4 digest_0.5.2 grid_2.15.1
[5] labeling_0.1 MASS_7.3-18 memoise_0.1 munsell_0.3
[9] plyr_1.7.1 proto_0.3-9.2 RColorBrewer_1.0-5 reshape2_1.2.1
[13] RgoogleMaps_1.2.0 rjson_0.2.8 scales_0.2.1 stringr_0.6
[17] tools_2.15.1
>

编辑:我发现了一个错误。实际上,我首先使用 source (uff.R) 运行它,这个命令没有显示任何错误。然后我尝试了 Rscript

anisha@linux-y3pi:~> Rscript uff.R
Loading required package: ggplot2
Loading required package: methods
Error in eval(expr, envir, enclos) : object 'x' not found
Calls: print ... sapply -> lapply -> eval.quoted -> lapply -> FUN -> eval
Execution halted

最佳答案

您的 ggimage 失败,因为其中没有 xy。将经纬度坐标重命名为 x 和 y。这是一个完全可重现的例子。这是基本的 ggplot 内容:

> library(png)
> library(ggplot2)
> img <- readPNG(system.file("img", "Rlogo.png", package="png"))
> latitude = c(40.702147,40.718217,40.711614)
> longitude = c(-74.012318,-74.015794,-73.998284)
> df <- data.frame (x=longitude,y=latitude)
> qplot(x,y,data = df, colour = I("red"), size = I(3))

在您的命令行上运行这些命令,您应该会看到一个绘图。失败的可能原因是:

  • 您的 R 没有与显示器的 X11 连接。这一切都在本地 Linux 机器上运行吗?你没有连接到服务器?如果 R 无法弹出图形窗口,它可能会尝试创建一个 Rplots.pdf 文件。
  • 您正在运行一个未打印的脚本。包装所有要在 print() 函数调用中生成输出的 ggplot、网格和点阵图形函数。我认为这是一个常见问题解答。 Paul Hiemstra 将此作为答案,但随后将其删除...

关于r - 在R的ggmaps上加载 map PNG的栅格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com