Python中地图数据可视化的3种类型
什么是地图数据可视化?
在开始使地图数据可视化之前,我们需要知道它是什么。
简单来说,地图数据可视化就是,将地理数据转换为可视形式。通过在地图上,可视化具有区域特征的数据,或数据分析的结果,用户可以更轻松地了解数据的规律和趋势。
用外行的话来说,地图可视化可以更清楚、直接地显示地理数据。不可否认,地图是当今最常用的数据可视化形式,良好的地图可视化,会将信息集成到地理环境中,包含大量信息,并且在美学上令人愉悦。
实现地图数据可视化的工具
当前,有许多工具可以实现地图数据可视化,可以分为三种类型:编程、平台和软件。
编程:Matlab,Python,Echarts
平台:FineReport,Tableau,Power BI
软件:Excel
对于大多数人来说,Excel一直是第一选择,但Excel真的是地图可视化的最佳工具吗?在本文中,我将介绍上述三种类型工具的优缺点,并着重于python中的地图数据可视化,希望能帮你找到满足需求的工具。
地图数据可视化平台
首先,我们可以直接使用一些数据可视化工具来完成此任务。现在市场上有许多这样的软件,例如Tableau和PowerBI,它们更适合专业数据分析师,这些软件具有完整的功能和非常友好的交互作用。但是对于只想显示研究结果的某些数据可视化,FineReport和一些可以生成地图的在线网站,可能是更好的选择,其大多数都是免费的,还可以提供出色的地图显示。
这是FineReport制作的一些地图数据可视化图像:
3D地球
电子表格
Excel是熟悉的办公软件,它也是可靠的地图可视化软件。对于那些不想花时间选择其他工具的人来说,Excel无疑是一个很好的选择。在2016版的Excel标签中,你可以直接选择插入3D地图。你只需要获取地理数据,然后按照常规图表设置,即可完成漂亮的地图数据可视化。
Python中地图数据可视化
Python是编程语言更容易上手的工具之一,可以非常有效地实现大量地图数据可视化。Python地图可视化库具有著名的pyecharts、plotly、folium,以及稍微低调的bokeh、basemap、geopandas,它们是地图可视化不可忽视的武器。
接下来,我将介绍这三个低调的python地图可视化工具。
首先是bokeh
Bokeh擅长制作交互式图形,当然,地图数据可视化也不逊色。
像这样
和这个
Bokeh支持Google地图和JSON数据的地理可视化显示,最重要的是它可以实现动态交互。Bokeh的官方网站也提供了详细的地图可视化解决方案。
接下来是basemap
毫不夸张地说,basemap是python地图可视化的最佳第三方库,它是基于matplotlib开发的,因此它具有创建数据可视化的所有功能,并且必须与matplotlib一起使用。
只需几行代码即可绘制世界地图:
从mpl_toolkits.basemap导入basemap
导入matplotlib.pyplot作为plt
map=Basemap()
map.drawcoastlines()
plt.show()
plt.savefig(’test.png’)
从mpl_toolkits.basemap导入basemap
导入matplotlib.pyplot作为plt
map=basemap(projection =’ortho’,lat_0 = 0,lon_0 = 0)
#用蓝色填充地球
map.drawmapboundary(fill_color =’aqua’)
#用大地色填充大洲
map.fillcontinents(color =’coral’,lake_color =’aqua’)
map.drawcoastlines()
plt.show()
注意:由于basemap支持py2,并且py2已停产,因此matplotlib也放弃了basemap。它是通过更换cartopy,支持PY3和完美集成matplotlib。
最后是geopandas
顾名思义,Geopandas是基于熊猫的地图数据可视化工具,因此非常方便处理地理数据。建议使用geopandas作为地理信息数据处理的主要工具。