Python 如何画出漂亮的地图？
为了写这篇文章，花费了几天时间，如果大家觉得有帮助，就点赞支持一下吧，这也是对原创内容最大的鼓励！ 作为一款以第三方工具包著称的编程语言，很多你能够想到的事情，Python都可以轻松驾驭。 对于数据可视化和绘图这种非常频繁的场景，更是如此。 关于地图可视化，可以从两个方向去解决： 由于从零需要做非常多的数据处理，相对比较繁琐，因此，更加建议采用第三方工具包进行绘图。 Python中有很多可以绘制地图的第三方工具包，使用工具包的最大好处就是简单、便捷。 这些工具包对一些复杂的操作进行了封装，让我们不用关注复杂的中间过程，不用去考虑如何处理地理、经纬度等信息，只需要按照要求提供输入、调用函数即可轻松实现地图的可视化。 下面是目前比较知名的一些可以绘制地图的工具包： 下面，针对每个工具包给一个示例，大家可以感受一下，选择一款自己喜欢的。然后，可以系统的阅读一下官方文档，深入细致的学习一下如何使用。 文档链接：Welcome to the Matplotlib Basemap Toolkit documentation basemap属于matplotlib中一个用于绘制2D地图的工具箱，它的功能类似于matlab绘图工具箱、IDL绘图工具、 matplotlib basemap toolkit是一个用于在Python中绘制地图的2D数据的库。它的功能类似于matlab绘图工具箱、IDL绘图工具，PyNGL和CDAT在Python中也提供类似的功能。 因此，在这里只介绍一下basemap的用法，不再展开介绍PyNGL和CDAT。 Basemap本身不做任何绘图，但是提供了将坐标转换为25种不同地图投影之一的功能（使用PROJ.4 C库）。 然后，使用matplotlib在转换后的坐标中绘制等高线、图像、矢量、线或点。 它提供了海岸线、河流和政治边界数据集（来自Generic Mapping Tools），以及绘制这些数据的方法。 basemap是面向地理科学家的需求，特别是海洋学家和气象学家。 Jeff Whitaker最初写basemap是为了帮助他的研究气候和天气预报。 下面，就以绘制NASA拍摄的地球实景图为例介绍一下如何绘制地图：  也可以绘制浮雕图地图：  文档链接：Documentation — GeoPandas 顾名思义，genpandas是一款建立在pandas之上的一款地图绘制工具，它将pandas和shapely两款工具包的特性有机的结合到一起，使得Python能够轻松的绘制和操作地理地形图像。 genpandas不仅可以做一些简单的地图，还可以做可交互、能拖动缩放的地图： 文档链接：Quickstart — geoplot 相对于geopandas，geoplot是一个高阶的Python地理绘图库。 它是cartopy和matplotlib的一个扩展，让绘图变得简单，就像绘图领域的seaborn。 它具有以下特点： 安装 示例：  文档链接：Folium — Folium 0.12.1 documentation folium是一款将Python数据处理优势和Leaflet.js绘图优势有机结合在一起的一款绘图库。 folium使在Python中操作的数据在交互式Leaflet地图上的可视化变得更加容易，它既可以将数据绑定到地图上，以实现脉络图的可视化，也可以将丰富的矢量/栅格/HTML可视化作为地图上的标记。 该库有许多来自OpenStreetMap、Mapbox和Stamen的内置模块集，并支持使用Mapbox或Cloudmade API密钥的自定义模块集。 folium支持图像、视频、GeoJSON和TopoJSON等格式数据。 使用Folium非常简单，给一个小示例，只需要传入坐标即可：  文档链接：pyecharts - A Python Echarts Plotting Library built with love. Echarts 是一个由百度开源的数据可视化工具，凭借着良好的交互性，精巧的图表设计，得到了众多开发者的认可。 而pyecharts则是一款将echarts引入到Python中的一款工具包。 它具有诸多优良特性，例如API设计简洁、囊括30+种常见图表，支持主流的Notebook环节，可轻松集成Flask等。 尤其是在地图方面，它支持多达 400+ 地图文件以及原生的百度地图，为地理数据可视化提供强有力的支持。 它不仅支持2D地图，还支持3D地图。  文档链接：Plotly Python Graphing Library Plotly的Python图形库可以制作互动的、具有出版质量的图形。 它可以绘制线图、散点图、面积图、条形图、误差条、箱形图、柱状图、热图、子图、多轴图、极地图和气泡图。 关于地图，它可以在地图上绘制线图、柱状图、气泡图、热力图、密度图、散点图等不同类型的地图。  文档链接：Bokeh documentation — Bokeh 2.4.3 Documentation Bokeh是一个用于为现代网络浏览器创建交互式可视化的Python库。 它可以帮助你建立优雅好看的图形，从简单的图画到复杂的仪表盘，都可以轻松驾驭。    