如何在地图中的要素旁边显示图表?


12

这个问题主要是针对QGIS软件的,但是欢迎所有其他软件解决方案,只要有可能,就可以尽可能轻松地实现,最好是开箱即用。尽管限制是静态地图(要打印),所以没有适用于此处的交互式Web地图解决方案。

有没有一种方法可以为时间序列数据/点表(也可以是线/多边形)创建图表(QGIS中的工具/插件)并将其显示在要素旁边?

我知道简单的图表/直方图工具。我也有一个将图表加载为SVG的想法,但这意味着我需要首先导出很多图表,然后将它们手动链接为符号。有没有更深刻的现成解决方案?

到目前为止,我尝试过的内容如下:

在此处输入图片说明

我想要实现的目标如下:

在此处输入图片说明


2
嗨,Miro,我最近发布了这个问题(gis.stackexchange.com/questions/175299/…)-回头看,与这个问题非常相似!您是否设法找到解决此问题的方法?
Andrew Tice

1
@AndrewTice不,这是在特定的付费软件中完成的。不幸的是,我不知道在QGIS中可以使用python-matplotlib库并将图表绘制到画布中的可能性有多少。无论如何,我没有找到关于该主题的任何有用的信息,例如插件或脚本。否则,也可能会生成SVG图表并将其在QGIS中链接到点。
米罗(Miro)

查看Anita的这篇文章,我认为这可能是一个不错的开始:anitagraser.com/2016/03/19/creating-dynamic-icon-series
WKT

@Azimo谢谢,我的问题从一开始就提到了Anita在她的文章中描述的选项。我知道在QGIS地图画布中,您可以使用SVG文件并将其链接到要素。确保您需要为每个功能都拥有通往SVG的特定路径,而不是像Anita在其文章中使用SVG时的“案例”。我正在寻找更高级的东西。
米罗2016年

这是经常出现的事情-对于QGIS或ArcGIS来说,这是一个很好的补充,它能够包含迷你图或小型图表作为地图上某个要素的标签。
凯斯(Kes)

Answers:


1

R最适合您的要求。尝试以下方法并进行试验。

#Load rgdal library
library(rgdal)
#Load the shapefile specifying path in dsn and file name for layer
world_layer<-readOGR(dsn="C:/SampleData",layer="world_borders")
#Describe the columns of the layer
summary(world_layer)
#Plot using spplot library with column values categorized into 30 classes
spplot(world_layer, z="POP_CNTRY", cuts= 30)

您应该获得如下图所示的地图和图表,当然您可以通过多种方式对其进行自定义。

在此处输入图片说明

有很多链接可以更详细地讲授

http://www.kevjohnson.org/making-maps-in-r/

http://personal.colby.edu/personal/m/mgimond/Spatial/Intro_to_spatial_data_manipulation_in_R.html#using-the-rgdal-library

https://cran.r-project.org/web/views/Spatial.html

http://www.r-bloggers.com/amateur-mapmaking-getting-started-with-shapefiles/

https://www.nceas.ucsb.edu/scicomp/usecases/ReadWriteESRIShapeFiles


谢谢,但这与我的问题“如何在地图中的要素旁边显示图表”有什么关系?地图中每个要素的要素旁边的图表在哪里?
米罗(Miro)

1

如果可以访问,则可以使用ArcGIS。是我对ArcMap和excel所做的一个示例(对不起,该语言,旧地图)。您可以在excel中创建图形并将其作为对象插入。这种方法的作用是,如果您要使用大量的颜色并将其与地图中的颜色同步,则必须手动进行操作。这是一种乏味的方法,但是可以完成工作。
同样在ArcMap中的另一个选项是可以创建时间图形的图形工具集。就个人而言,我不喜欢此工具,而是更喜欢使用Origin或Grapher制作专业图形。


1
谢谢,但这与我的问题“如何在地图中的要素旁边显示图表”有什么关系?地图中每个要素的要素旁边的图表在哪里?
米罗

在所附的地图(这是一张土地覆盖图)中,存在的饼图代表每种类型的土地覆盖的土地覆盖率。您说欢迎其他软件解决方案,因此我来回答。
alecsx '16

当然可以欢迎其他软件解决方案。但是,所附图片仅显示饼图,将其作为图像添加到地图框旁边-在所有QGIS,Mapinfo,ArcGIS和其他图形软件后处理中都很容易做到。我要做的是直接在地图上显示每个功能的图表。您可以按照与标签类似的方式来考虑它,除了使用图表代替文本标签。而且我什至知道如何使用我的问题中所述的QGIS中的SVG或其他图像格式执行此操作。我问是否有可能使这些图表“实时”(从数据库或表中获取)而不是图像。
米罗(Miro)

1

我不太确定UMS MapServer是否可以在QGIS中用作WMS层,是否适合您的需求。我已经尝试过了,但是用MapServer * .MAP文件设计好的图表却不好。


可能要添加一些有关图表的文档部分的链接,最好是一些示例/教程?我快速浏览了一下,似乎也可以制作条形图和堆积的条形图。安装UMS MapServer和设置WMS以使地图中的图表听起来很麻烦,但在某些情况下可能是唯一的解决方案。谢谢。
米罗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.