工具篇3.5世界热力图

news2024/12/28 20:06:42

一、定义

世界热力图是一种地图形式,它使用颜色的变化来显示世界各个地区的某种指标(如 GDP、人口、气候等)的分布和密度。通常,世界热力图会使用不同的颜色来表示数据的变化,例如使用蓝色表示低值,红色表示高值,这种颜色渐变的方式可以帮助人们更好地理解数据的分布情况。世界热力图可以用于研究不同国家或地区之间的差异,以及不同指标之间的相关性等问题,同时也可以用于预测未来的趋势和发展方向。因此,世界热力图是一种非常有用的可视化工具,它可以帮助我们更好地理解复杂的数据,从而做出更准确的决策和预测。

 二、所用库

Plotly 是一个开源的 Python 数据可视化库,它可以用于创建各种类型的交互式图表和可视化。Plotly 支持多种图表类型,包括折线图、散点图、条形图、热力图等,同时也支持 3D 图形和动画等高级可视化功能。此外,Plotly 还支持多种输出格式,包括 HTML、SVG、PNG、PDF 等,可以轻松地将生成的图表嵌入到 Web 页面或报告中。


2.1安装

在使用 Plotly 之前,需要先安装 Plotly 库。可以使用 pip 命令来安装 Plotly:

pip install plotly

如果需要使用 Plotly 的高级功能,还需要安装其他依赖库,例如 pandas、numpy、scipy、scikit-learn 等。这些库可以使用 pip 命令来安装。

2.2步骤

1.导入所需的库

import pandas as pd
import plotly.graph_objs as go

在使用 Plotly 创建图表时,通常需要使用 pandas 库来读取和处理数据,同时还需要导入 plotly.graph_objs 模块来创建图表对象。

2.读取和处理数据

df = pd.read_csv('data.csv')

使用 pandas 库可以轻松地读取和处理各种格式的数据,例如 CSV、Excel、JSON、SQL 数据库等。
3.创建图表对象

data = go.Scatter(x=df['x'], y=df['y'], mode='markers')

使用 plotly.graph_objs 模块中的类(如 Scatter、Bar、Heatmap 等)来创建图表对象,并指定所需的参数(如 x、y、mode、marker、text 等)。

在 Plotly 中,用于创建图表的各种类(Scatter、Bar、Heatmap等)都具有许多参数,下面是这些参数的解释:

Scatter 类参数:
        x:指定散点图中横轴的数据。
        y:指定散点图中纵轴的数据。
        mode:指定散点图中点的类型,如点、线、标记等。
        marker:指定散点图中点的属性,如大小、颜色等。
        text:指定散点图中每个点的文本标签。
Heatmap 类参数:
        x:指定热力图中横轴的数据。
        y:指定热力图中纵轴的数据。
        z:指定热力图中每个格子的值。
        colorscale:指定热力图的颜色刻度。
        zmin、zmax:指定热力图中最小和最大的值。
        colorbar:指定热力图的颜色刻度栏的属性。
除了上述参数,这些类还有许多其他参数,如图表的标题、布局、大小等,可以根据需要进行设置。

4.创建布局对象

layout = go.Layout(title='Scatter Plot')

使用 go.Layout 类创建布局对象,并指定所需的参数,如图表标题、坐标轴标签、背景颜色等

5.创建 Figure 对象

fig = go.Figure(data=data, layout=layout)

将创建的数据和布局对象传递给 go.Figure 类,创建 Figure 对象。

6.显示图表

fig.show()

使用 show() 方法显示出创建的图表。也可以将图表导出为各种格式,如图片、HTML、PDF 等。
除了以上基本用法之外,Plotly 还支持丰富的交互式功能,如缩放、平移、旋转、选取、高亮等,使用户可以更加灵活地探索和分析数据

三、实战

import pandas as pd
import plotly.graph_objs as go

# 读取 XLSX文件中的数据
df=pd.read_excel("D:\桌面\map.xlsx")

# 创建热力图数据
data = go.Choropleth(
    locations=df['Code'],  # 国家代码
    z=df['GGDP'],  # GDP 数据
    text=df['Country'],  # 国家名称
    colorscale='Blues',  # 颜色刻度
    autocolorscale=False,  # 关闭自动颜色刻度
    reversescale=True,  # 翻转颜色刻度
    marker_line_color='darkgray',  # 边框颜色
    marker_line_width=0.5,  # 边框宽度
    colorbar_title='GGDP (USD)',  # 颜色刻度标题
)

# 创建布局
layout = go.Layout(
    title=dict(text='World GGDP Heatmap', x=0.5),  # 标题
    geo=dict(showframe=False, showcoastlines=False, projection_type='equirectangular'),  # 地理坐标系配置
    margin=dict(l=0, r=0, t=40, b=0),  # 图表边距
)
#title:指定标题文本和位置,这里标题为 "World GGDP Heatmap",位置居中。
#geo:指定地理坐标系的配置,包括是否显示边框、海岸线和投影类型。这里投影类型为等距圆柱投影。
#margin:指定图表边距,包括左、右、上、下四个方向的边距值。

# 绘制地图
fig = go.Figure(data=data, layout=layout)
fig.show()
#地图导出
fig.write_image("gdp_heatmap.png")

这里使用了 Plotly 的 Choropleth 类来创建热力图数据,具体参数的含义如下:
        locations:指定地图上每个区域的位置,这里指定为国家代码。
        z:指定每个区域的数值大小,这里指定为 GDP 数据。
        text:指定每个区域的标签文本,这里指定为国家名称。
        colorscale:指定颜色刻度,这里选择了蓝色系列。
        autocolorscale:是否启用自动颜色刻度,默认为 True。
        reversescale:是否翻转颜色刻度,默认为 False。
        marker_line_color:指定区域边框的颜色。
        marker_line_width:指定区域边框的宽度。
        colorbar_title:指定颜色刻度的标题。

代码所使用文件

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法leetcode|37. 解数独(rust重拳出击)

文章目录37. 解数独:样例 1:提示:分析:题解:rustgoccpythonjava37. 解数独: 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现…

如何配置git,使其支持多用户

如何配置git,使其支持多用户? 在多数时候, 我们使用git进行操作时,只需要在本地配置一个用户的ssh key,就可以完成基本的pull/push操作。如果现在我有两个github的账号,并需要在一台电脑中操作其中的repo&…

项目管理工具dhtmlxGantt甘特图入门教程(十):服务器端数据集成(下)

这篇文章给大家讲解如何利用dhtmlxGantt在服务器端集成数据。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善的甘特图图表库 DhtmlxGantt正版试用下载(qun 764149912)http…

LVGL WIN32模拟器环境搭建

LVGL WIN32模拟器环境搭建LVGL简介环境搭建IDE 选择模拟器代码下载PC模拟器搭建其他配置项说明LVGL简介 LVGL是一个跨平台、轻量级、易于移植的图形库。因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的差…

基于springboot+vue的医院信息管理系统

基于springbootvue的医院信息管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介…

2、登录界面开发

【任务描述】本任务要求使用线性布局以及TextView、EditText、Button等常见控件完成智慧园区登录界面的开发。1、线性布局(LinearLayout)1.1、LinearLayout概述线性布局(LinearLayout)主要以水平或垂直方式来排列界面中的控件。并…

【C++修炼之路】20.手撕红黑树

每一个不曾起舞的日子都是对生命的辜负 红黑树实现:RBTree 前言一.红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质二.红黑树的结构2.1 红黑树节点的定义2.2 红黑树类的封装三.红黑树的插入情况1:只变色情况2:变色单旋情况3:双旋插入的代…

Docker入门和安装教程

一、Docker入门简介 Docker 是一个基于GO语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会…

关于如何在 Grafana 绘制 Apache Hudi Metrics 仪表盘的教程

文章目录前言下载 Prometheus下载 PushgatewayPrometheus 集成 PushgatewayPushgateway 后台执行Prometheus 后台执行在Prometheus中配置PushgatewayApache Hudi Metrics中开启 Pushgateway 推送Grafana 安装和启动Grafana 新增 Apache Hudi Metrics 仪表盘添加 Prometheus 数据…

批处理删除指定文件或文件夹

声明:1-2节参考了 https://blog.csdn.net/weixin_43960383/article/details/1243673841. DEL1.1 DEL 的命令参数使用 del 命令能指定文件,Del (erase)[Drive:][Path]FileName指删除指定文件。指定要删除的文件或文件集的位置和名称。语法格式如下&#x…

XML学习

文章目录XML什么是XML?XML的作用?XML语法文档声明XML注释元素(标签)xml属性语法规则5.4、xml解析技术介绍dom4j 解析技术(重点)dom4j 编程步骤:使用遍历标签 获取所有标签中的内容(重点&#x…

第十三届蓝桥杯国赛 C++ C 组 Java A 组 C 组 Python C 组 E 题——斐波那契数组(三语言代码AC)

目录1.斐波那契数组1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.Java2.C3.Python1.斐波那契数组 1.题目描述 如果数组 A(a0,a1,⋯.an−1)A(a_0,a_1,⋯.a_{n-1})A(a0​,a1​,⋯.an−1​)满足以下条件, 就说它是一个斐波那契…

如何在类中定义构造方法?

在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:1、方法名与类名相同2、在方法名的前面没有返回值类型的声明3、在方法中不能使用return语句返回一个值接下来通过一个案例来演示如何在类中定义构造方法&#xff…

闪光桐人の实习日记(2023年2月20-27日)

前往闪闪の小窝以获得更好的阅读和评论体验 文章目录2023年2月20日(Vue入门)概念Vue基础Vue中的MVVMVue的体验Vue的生命周期Vue指令Vue组件VueRouter前后端路由的区别工作原理两种模式比较route跟router的区别路由属性导航守卫Vuex概述5种基本对象基本使…

C语言编程规范 第二部分

2、头文件对于C语言来说,头文件的设计体现了大部分的系统设计。不合理的头文件布局是编译时间过长的根因,不合理的头文件实际上反映了不合理的设计。 1、头文件中适合放置接口的声明,不适合放置实现头文件是模块(Module&#xff…

【数据结构】时间复杂度和空间复杂度

🌇个人主页:平凡的小苏 📚学习格言:别人可以拷贝我的模式,但不能拷贝我不断往前的激情 🛸C语言专栏:https://blog.csdn.net/vhhhbb/category_12174730.html 小苏希望大家能从这篇文章中收获到许…

苹果手机怎么设置闹钟铃声?更改为歌曲铃声,亲测有效

很不是有很多小伙伴每天早上都被苹果手机刺耳的“雷达”闹钟铃声给吵醒呢?想要更换一个舒缓的闹钟铃声,却发现自己鼓捣半天却无法更换喜欢的歌曲闹钟铃声。苹果手机怎么设置闹钟铃声?下面小编就来分享如何将苹果手机的闹钟铃声设置成歌曲铃声…

【docker】拉取镜像环境报错解决#ERROR: Get https://registry-1.docker.io/v2/

🍁博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 文章目录问题报错原因解决方法问题 ERROR…

简单的认识 Vue(vue-cli安装、node安装、开发者工具)

Vue1、Vue 与其他框架的对比及特点1.1 Vue.js 是什么1.2 作者1.3 作用1.4 Vue 与其他框架的对比2、安装 Vue 的方法2.1 CDN 引入2.2 脚手架工具2.3 vue 开发者工具安装3、创建第一个实例4、理解 Vue 的 MVVM 模式5、数据双向绑定5.1 感受响应式实验总结1、Vue 与其他框架的对比…

Flutter WebView 如何与 h5 同步登录状态

大家好,我是 17。 Flutter WebView 一共三篇文章 在 Flutter 中使用 webview_flutter 4.0 | js 交互Flutter WebView 性能优化,让 h5 像原生页面一样优秀Flutter WebView 如何与 h5 同步登录状态 本篇是第 3 篇,讲下 Flutter WebView 与 h…