用Python绘制地理图

2023-10-30 13:31
文章标签 python 绘制 地理图

本文主要是介绍用Python绘制地理图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当您的数据包含地理信息时,丰富的地图可视化可以为您理解数据和解释分析结果的最终用户提供重要价值。

Plotly

Plotly是一个著名的库,用于在Python中创建交互式绘图和仪表板。

安装Plotly

在命令提示符中运行这两个命令,以在我们的本地计算机上安装 plotly 和 cufflinks 及其所有软件包。

Choropleth地图

Choropleth地图是流行的主题地图,用于通过各种阴影图案或预定地理区域(即国家/地区)上的符号表示统计数据。它们擅长利用数据轻松表示整个区域所需测量的可变性。

Choropleth地图是如何工作的?

Choropleth Maps显示与数据变量相关的彩色,阴影或图案化的划分的地理区域或区域。这提供了一种可视化地理区域内值的方法,该值可以显示所显示位置的变化或模式。

在Python中使用Choropleth

在这里,我们将使用  2014年全球不同国家/地区的电力消耗数据集。(https://github.com/ahmadbinshafiq/Geographical-Plotting---Python/blob/master/2014_World_Power_Consumption)

好的,让我们开始吧。

导入库

在这里,  init_notebook_mode(connected = True) 将Javascript连接到我们的笔记本。

创建/解释我们的DataFrame

在这里,我们有3列,并且所有列都有219个非空条目。

将我们的数据编译成字典

  • type ='choropleth':定义地图的类型,即这种情况下的choropleth。

  • colorscale ='Viridis':显示一个颜色图(f或更多颜色比例,请参阅 此处)。

  • location = df ['Country']:添加所有国家/地区的列表。

  • locationmode ='国家名称':因为我们在数据集中有国家名称,所以我们将位置模式设置为'国家名称'。

  • z:显示每个状态的功耗的整数值列表。

  • text = df ['Country']:将鼠标悬停在地图上的每个状态元素时显示一个文本。在这种情况下,它是国家本身的名称。

  • colorbar = {'title':'Power KWH'}:包含有关右侧栏信息的字典。在这里,颜色栏包含侧边栏的标题。

布局 -一个Geo对象,可用于控制 在其上绘制数据的基础地图的外观 。

这是一本嵌套的字典,其中包含有关地图/绘图外观的所有相关信息。

生成图/图

生成了“ 2014年世界电力消耗”的choropleth地图,从上面可以看到,当每个国家/地区悬停在地图上的每个元素上时,都会显示其名称和电力消耗(以kWh为单位)。数据在一个特定区域中越集中,地图上的颜色阴影越深。“中国”的耗电量最大,因此其颜色最深。

密度图

 

密度映射只是一种显示点或线可能集中在给定区域中的方式。

在Python中使用密度图

在这里,我们将使用世界范围  的地震及其震级数据集。

好的,让我们开始吧。

导入库

创建/解释我们的DataFrame

在这里,我们有4列,并且所有列都有23412个非空条目。

绘制数据

  • lat ='Latitude':获取数据框的“纬度”列。

  • lon ='Longitude':获取数据框的经度列。

  • z:显示地震震级的整数列表。

  • radius = 10:设置每个点的影响半径。

  • center = dict(lat = 0,lon = 180):设置字典中地图的中心点。

  • zoom = 0:设置地图缩放级别。

  • mapbox_style ='stamen-terrain':设置基本地图样式。在这里,“雄蕊地形”是基本地图样式。

  • fig.show():显示地图。

地图

我们已经绘制了“地震及其烈度”的密度图,从上面我们可以看到,它覆盖了遭受地震破坏的所有领土,并且还显示了当我们将鼠标悬停 在上方时每个区域的地震烈度。

由于数据格式多种多样,有时使用plotly进行地理绘图可能会遇到一些挑战,因此请参考该 备忘单, 了解所有类型的plotly plot语法。

这篇关于用Python绘制地理图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/308258

相关文章

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整