如何在R中将谷歌地图输出打印为PDF

玛迪·科门

目前,我正在处理样本数据,其中我想显示特定纬度和经度的指标计数。

数据如下:

count   latitude    longitude
1   -33.9742299 -59.2025543
1   -32.1833305 -64.4166718
1   40.069099   45.038189
0   43.1708104  -76.2904452
4   51.3105976  4.2649749
3   50.5296991  5.2614551
2   -22.9748764 -44.3036414
6   43.7755615  23.7246154
4   53.1732661  -112.0334845
4   46.315255   -63.325855
0   50.9302435  -113.986716
1   46.402735   -72.274846
0   49.224312   -122.9865026
4   43.8384117  -79.0867579
1   45.0679663  -66.4535262
2   23.132191   113.266531
0   19.912026   109.690508
1   30.4783192  120.9239947
0   39.084158   117.200983
4   49.0812519  16.1921789

library(plotGoogleMaps)
coordinates(nuc)<-~longitude+latitude
proj4string(nuc) <- CRS('+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs ')
pltmap<-plotGoogleMaps(nuc,filename='firstmp.htm', zcol='count'
                  , draggableMarker=FALSE, colPalette=c('#DC143C', '#FFD700', '#00FF00'))

来自github-的参考

现在,我想将地图输出打印为pdf。

检查了pdf功能,但不适用于此功能。不确定是否为“ wkhtmltopdf”,因为它是其他工具。

请帮助我提供任何指针,以获取pdf格式的输出。

谢谢,凯门

hrbrmstr

这是使用该ggmap软件包的可能替代解决方案

nuc <- read.table(text="count   latitude    longitude
1   -33.9742299 -59.2025543
1   -32.1833305 -64.4166718
1   40.069099   45.038189
0   43.1708104  -76.2904452
4   51.3105976  4.2649749
3   50.5296991  5.2614551
2   -22.9748764 -44.3036414
6   43.7755615  23.7246154
4   53.1732661  -112.0334845
4   46.315255   -63.325855
0   50.9302435  -113.986716
1   46.402735   -72.274846
0   49.224312   -122.9865026
4   43.8384117  -79.0867579
1   45.0679663  -66.4535262
2   23.132191   113.266531
0   19.912026   109.690508
1   30.4783192  120.9239947
0   39.084158   117.200983
4   49.0812519  16.1921789", header=TRUE, stringsAsFactors=FALSE)

library(ggmap)
library(ggthemes)

gmap <- get_map(location=c(longitude=mean(nuc$longitude), 
                           latitude=mean(nuc$latitude)), 
                zoom=3)

gg <- ggmap(gmap)
gg <- gg + geom_point(data=nuc, aes(x=longitude, y=latitude, size=count, fill=count), 
                      shape=21, color="black")
gg <- gg + scale_fill_distiller(palette="Reds")
gg <- gg + theme_map()
gg <- gg + theme(legend.position="right")
gg

这将产生以下内容,您应该可以轻松地在PDF中使用以下内容。

在此处输入图片说明

(您可能需要调整缩放级别等,因为我知道某些点未显示在该缩放级别上)

更新

既然我们在讨论美学,所以我认为plotGoogleMaps情节看起来很糟糕。但是,如果您真的希望以此作为自己努力的展示,则可以使用phantomjs(即必须安装phantomjs)。在绘制地图后放上它(它依赖于保存的html文件):

cat("var page = require('webpage').create();
page.viewportSize = { width: 1280, height: 800 };
page.open('firstmp.htm', function() {
  window.setTimeout(function () {
    page.render('firstmp.png');
    page.render('firstmp.pdf', {format: 'pdf', quality: '100'});
    phantom.exit();
  }, 3000);
});", file="render.js")

system("phantomjs --ignore-ssl-errors=true render.js")

由于必须让地图图块加载,因此需要大约3秒钟的时间。结果是png和pdf文件。如果要将png和其他分析结果放置在PDF中,可以使用R markdown。这是它创建的png(您可以通过更改width / height参数将其设置为任意大小:

在此处输入图片说明

您还可以设置一个裁剪矩形以摆脱左侧的控件(这是一个非常适合Google使用的答案)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 R 中将 yaml 文件打印为 pdf

来自分类Dev

如何在R中将HTML输出捕获为PNG

来自分类Dev

如何在路线上显示时间为谷歌地图

来自分类Dev

如何在谷歌地图javascript api中将div容器附加到地图标记的顶部

来自分类Dev

如何在不丢失颜色的情况下将树的输出打印为pdf?

来自分类Dev

如何在Python中将彩色输出打印到终端?

来自分类Dev

如何在pyqt gui中将测试输出打印到标签

来自分类Dev

如何在Vim中将命令输出打印到新窗口

来自分类Dev

如何在C ++中将地图写为json对象

来自分类Dev

如何在谷歌地图Javascript api中将标记限制为特定城市?

来自分类Dev

如何搜索以坐标为中心的谷歌地图?

来自分类Dev

如何在WPF中将整个ScrollViewer打印到PDF文件

来自分类Dev

如何在NodaTime中将即时打印为rfc2822?

来自分类Dev

如何在bash中将换行符打印为\ n?

来自分类Dev

如何在python中将数组打印为表格

来自分类Dev

如何在python中将int打印为单词seq

来自分类Dev

如何在CSV中将嵌套列表打印为新行?

来自分类Dev

如何在Julia中将矩阵漂亮地打印为String?

来自分类Dev

如何在HotChocolate中将架构打印为GraphQL SDL

来自分类Dev

如何在Java中将代理字符打印为int

来自分类Dev

如何在Python中将一维数组打印为网格?

来自分类Dev

如何在bash中将换行符打印为\ n?

来自分类Dev

如何在NodaTime中将即时打印为rfc2822?

来自分类Dev

如何在java中将arrayList打印为字符串

来自分类Dev

如何在谷歌地图上搜索位置

来自分类Dev

GeoJson要素坐标以米为单位,而不是[lng,lat]。如何在谷歌地图上显示?

来自分类Dev

如何在谷歌地图javascript上为不同的用户创建不同的路线

来自分类Dev

如何在Ruby on Rails中将天数输出为小时?

来自分类Dev

如何在csh中将变量设置为命令的输出?

Related 相关文章

  1. 1

    在 R 中将 yaml 文件打印为 pdf

  2. 2

    如何在R中将HTML输出捕获为PNG

  3. 3

    如何在路线上显示时间为谷歌地图

  4. 4

    如何在谷歌地图javascript api中将div容器附加到地图标记的顶部

  5. 5

    如何在不丢失颜色的情况下将树的输出打印为pdf?

  6. 6

    如何在Python中将彩色输出打印到终端?

  7. 7

    如何在pyqt gui中将测试输出打印到标签

  8. 8

    如何在Vim中将命令输出打印到新窗口

  9. 9

    如何在C ++中将地图写为json对象

  10. 10

    如何在谷歌地图Javascript api中将标记限制为特定城市?

  11. 11

    如何搜索以坐标为中心的谷歌地图?

  12. 12

    如何在WPF中将整个ScrollViewer打印到PDF文件

  13. 13

    如何在NodaTime中将即时打印为rfc2822?

  14. 14

    如何在bash中将换行符打印为\ n?

  15. 15

    如何在python中将数组打印为表格

  16. 16

    如何在python中将int打印为单词seq

  17. 17

    如何在CSV中将嵌套列表打印为新行?

  18. 18

    如何在Julia中将矩阵漂亮地打印为String?

  19. 19

    如何在HotChocolate中将架构打印为GraphQL SDL

  20. 20

    如何在Java中将代理字符打印为int

  21. 21

    如何在Python中将一维数组打印为网格?

  22. 22

    如何在bash中将换行符打印为\ n?

  23. 23

    如何在NodaTime中将即时打印为rfc2822?

  24. 24

    如何在java中将arrayList打印为字符串

  25. 25

    如何在谷歌地图上搜索位置

  26. 26

    GeoJson要素坐标以米为单位,而不是[lng,lat]。如何在谷歌地图上显示?

  27. 27

    如何在谷歌地图javascript上为不同的用户创建不同的路线

  28. 28

    如何在Ruby on Rails中将天数输出为小时?

  29. 29

    如何在csh中将变量设置为命令的输出?

热门标签

归档