使用QGIS制作仪表板

仪表板(Dashboard)是商业智能领域常用的交互式数据可视化技术,通过集成多种数据视图,并提供不同数据视图之间的灵活交互能力,达到深入分析数据规律进而辅助科学决策的目的。

借助Data Plotly插件,QGIS可以实现地图、图表、表格的集成展现与灵活交互,达成仪表板的效果。本文使用自然地球(Natural Earth)网站(https://www.naturalearthdata.com/)提供的全球国家(地区)图层介绍具体制作方法。

示范数据下载链接为:

https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip

该图层为1:1.1亿比例尺全球国家(地区)面图层,数据大小不到200KB。解压缩后的文件夹中包含Shape格式的数据文件以及简要的数据说明。

本文将用到该图层包含的两个属性字段:POP_EST、GDP_MD_EST,前者为总人口数,后者为GDP,均为估计值。

启动QGIS,把“ne_110m_admin_0_countries.shp”图层添加到地图窗口中。将该面图层的填充颜色设置为#bbbbbb,将描边颜色设置为#ffffff。这里的颜色设置只是为了达成较好的显示效果,不是必须的操作,您可以保留系统提供的默认颜色,也可以根据个人喜好设置满意的颜色。设置完成后,QGIS界面显示如下:

用鼠标在“图层”面板里点击选中所添加的图层,然后点击鼠标右键,在弹出菜单中选择最下方的“特性”菜单项:

在弹出的“图层特性”对话框的左侧选择“图表”标签,然后点击对话框上方的下拉列表,选择列表中的“饼图”:

选择“大小”选项卡,将单选按钮从“固定大小”修改为“缩放比例”,在“属性”下拉列表中选择“POP_EST”字段,然后点击“最大值”输入框右侧的“查找”按钮,最后点击界面下方的“Apply”按钮。这时,QGIS会显示一个警告,提示我们“图表:未添加属性:...”。可以忽略该警告,因为接下来就会进行属性添加操作。

切换到“属性”选项卡,在“可用的属性”列表中找到字段“POP_EST”,用鼠标双击该字段,把它添加到右侧“指派的属性”列表中,系统会为该字段生成一个随机颜色。

用鼠标双击系统为“指派的属性”字段生成的随机色,弹出“选择颜色”对话框,在“HTML注释”中输入#ee0df9,将系统随机生成的颜色修改为紫色(非必须,可以不修改),然后点击“OK”按钮。

切换到“渲染”选项卡,将“不透明度”修改为70%,然后点击“线条颜色”下拉列表右侧向下的小箭头,在弹出的颜色设置框中点击最上方的“透明描边”选项,最后点击“OK”按钮。

这时,QGIS地图窗口中将显示饼状专题图,饼的大小与各国家(地区)总人口数成正比。由于饼的颜色设置为半透明,即使出现相互压盖的情况,也可以看清楚各自的轮廓。

下面将制作一幅图表,需要用到Data Plotly插件。点击菜单“插件-->管理并安装插件”,在弹出的“插件”对话框中找到并选择“Data Plotly”插件,然后点击右下角的“安装插件”按钮,完成该插件的下载与安装。

成功安装Data Plotly插件后,将在“插件”菜单中生成DataPlotly子菜单,并在工具栏中创建DataPlotly工具条,点击该子菜单或工具条中的按钮都可以打开DataPlotly插件面板。

Plot type(图表类型)选择Pie Chart(饼图),Grouping field(分组字段)选择“CONTINENT”(大洲),该字段存储各国家(地区)所属大洲的名称,Y field(Y字段)选择POP_EST(总人口数),然后点击下方的“Create Plot”(创建图表)按钮。

至此,生成了按各国家(地区)所属大洲分组的总人口数饼图,可以对比各大洲总人口数在全世界总人口数中所占的比重。

按一下键盘上的“F6”快捷键,打开当前图层的属性表,形成集地图、图表、表格于一体的综合视图。

地图、图表、表格这三种视图并不仅仅是只能并排显示,其中包含的信息还可以进行灵活交互。例如,用鼠标点击右侧饼图中的蓝色区域,该区域代表的是亚洲的总人口。可以看到,地图窗口中的所有亚洲国家(地区)都将变为红色的选中状态。可以尝试点击饼图中的其他颜色区域,看看在地图上选中其他大洲的国家(地区)的效果。同时,属性表中相应国家(地区)的记录也将呈现蓝色的选中状态。信息的灵活交互对于了解和深入分析数据规律很有帮助。

返回图表初始设置界面,将图表类型更改为Scatter Plot(散点图),X field(X字段)和Y field(Y字段)分别选择GDP_MD_EST与POP_EST。

点击DataPlotly面板左侧的第二个标签,在右侧的界面中可以对图表显示内容与显示参数做更详细的设置。这里在Additional hover label(鼠标自动提示信息标签)中增加一项:国家(地区)的中文名称,来自于该图层属性表中的NAME_ZH字段。设置完成后,先点击界面下方左侧的“Clean Plot Canvas”(清空图表画布)按钮,清除前面步骤制作的饼图。如果不先清除前一步骤生成的图表,两幅图表将重叠显示在一起。最后,点击“Create Plot”(创建图表)按钮,制作散点图。

生成的散点图中,每个蓝色的点代表一个国家(地区),将鼠标移动到点上,可以显示对应国家(地区)的中文名称以及两个指标的取值。用鼠标点击选中蓝色的点,相应的国家(地区)在地图窗口中也将被选中,呈现红色高亮状态。

DataPlotly提供了很多参数,可以为图表设置多样的显示风格,也可以对图表与地图之间的交互方式进行控制。这里设置了散点图的Marker color(符号颜色)、Marker size(符号大小)和Stroke color(描边颜色),并勾选了“Use only visible features”(仅使用可见的要素),该选项使得图表仅包含出现在地图窗口范围内的国家(地区),实现图表与地图窗口显示范围的联动。

放大并平移地图,可以看到右侧图表中显示的点的数量及分布都会发生变化,不在地图窗口范围内的国家与地区同样也不会出现在图表中。

增大仪表板的显示区域可以获得更好的显示效果,为此,可以关闭QGIS的所有工具条。同时,通过菜单“设置-->选项”打开“选项”对话框,在“通用”标签页中将QGIS的用户界面主题设为“Night Mapping”,系统界面元素的背景色将呈现为黑色,也会使仪表板显得更酷一些。

Data Plotly插件的功能非常强大,支持的图表类型和可进行配置的参数都非常多,本文仅涉及它的小部分功能。大家在学习和工作中可以尝试使用该插件,并欢迎与我讨论,谢谢!。


版权声明

本文欢迎转载,转载时请注明出处。

猜你喜欢

转载自blog.csdn.net/QGISClass/article/details/110094760