当前位置: 首页 > news >正文

工具篇3.5世界热力图

一、定义

世界热力图是一种地图形式,它使用颜色的变化来显示世界各个地区的某种指标(如 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:指定颜色刻度的标题。

代码所使用文件

 

相关文章:

工具篇3.5世界热力图

一、定义 世界热力图是一种地图形式,它使用颜色的变化来显示世界各个地区的某种指标(如 GDP、人口、气候等)的分布和密度。通常,世界热力图会使用不同的颜色来表示数据的变化,例如使用蓝色表示低值,红色表…...

2023-02-20 leetcode-insertionSortList

摘要: 记录leetcode-insertionSortList的反思 要求: https://leetcode.cn/problems/insertion-sort-list/ Given the head of a singly linked list, sort the list using insertion sort, and return the sorted lists head. The steps of the insertion sort algorithm: In…...

LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法

环形链表排列硬币合并两个有序数组(没错,出现过一次的LeetCode合并数组又双叒叕出现了!)经典算法题java解法 目录1 环形链表题目描述解题思路与代码解法一:哈希表解法二:双指针2 排列硬币题目描述解题思路与…...

网络编程学习一

1、初识网络编程2、网络编程三要素3、三要素(IP)4、IPV4的一些小细节5、Inetaddress类的使用package com.leitao.demo.network;import java.net.InetAddress; import java.net.UnknownHostException;/*** Description: TODO* Author LeiTao* Date 2023/2…...

Javascript 立即执行函数

IIFE,一般称为立即执行函数。你可能会问我,*“嘿!我知道正常的函数表达式是什么样子的,但是 IIFE 到底是什么?”。*好吧,这正是我今天要在本文中回答的问题。 函数表达式 在了解立即调用函数表达式之前,让…...

基于Django和vue的微博用户情感分析系统

完整代码:https://download.csdn.net/download/weixin_55771290/87471350概述这里简单说明一下项目下下来直接跑起的方法。前提先搞好python环境和vue环境,保证你有一个账户密码连上数据库mysql。1、pip install requirements.txt 安装python包2、修改mysql数据库的…...

【C++】IO流

🌈欢迎来到C专栏~~IO流 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&#x1…...

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练 【论文原文】:CLEVE: Contrastive Pre-training for Event Extraction 【作者信息】:Wang, Ziqi and Wang, Xiaozhi and Han, Xu and Lin, Yankai and Hou, Lei and Liu, Zhiyuan and Li, Peng and …...

《自动驾驶规划入门》专栏结语

一、 源起 2021年10月12日,化学工业出版社的金编辑根据博客中留下的微信号联系上我,问我有没有出书的想法。从小到大,书与文字在我心里是有着神圣地位的。我在“想试试”与“害怕做不好”这两种矛盾的心情中,还是先应了下来。签了…...

【数据结构与算法】2.八大经典排序

文章目录简介1.分析排序算法2.插入排序2.1.直接插入排序2.2.希尔排序3.选择排序3.1.直接选择排序3.2.堆排序3.2.1.堆的数据结构3.2.2.算法实现4.交换排序4.1.冒泡排序4.2.快速排序5.归并排序6.基数排序7.八大排序算法总结简介 排序对于任何一个程序员来说,可能都不会…...

Windows 免安装版mysql,快速配置教程

简单步骤 下载并解压mysql压缩包&#xff0c;把 “<mysql根目录>/bin” 路径添加到系统环境变量path中命令行执行 mysqld --initialize --console&#xff0c;初始化data目录&#xff08;数据库表文件默认存放在" <mysql安装根目录>/data "目录下&#…...

空间误差分析:统一的应用导向处理(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…...

【C++】引用、内联函数、auto关键字、范围for、nullptr

引用什么叫引用引用的特性常引用使用场景传值、传引用效率比较引用和指针的区别内联函数auto关键字(C11)基于范围的for循环(C11)指针空值nullptr(C11)引用 什么叫引用 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内…...

pytest数据驱动

文章目录一、数据驱动概念二、数据驱动yaml1、yaml的基本语法&#xff1a;2、yaml支持的数据格式&#xff1a;3、安装4、使用5、读取方法a、目录结构b、yaml文件c、测试方法d、测试用例e、测试结果三、数据驱动excel1、安装导入2、操作3、读取方法a、目录结构b、excel文件c、测…...

OSI七层网络模型

应用层 定义了各种应用协议规范数据格式&#xff1a;HTTP协议、HTTPS协议、FTP协议、DNS协议、TFTP、SMTP等等。 表示层 翻译工作。提供一种公共语言、通信。 会话层 1、可以从校验点继续恢复数据进行重传。——大文件 2、自动收发&#xff0c;自动寻址的功能。 传输层 1、…...

易基因|MeRIP-seq揭示m6A RNA甲基化通过调控组蛋白泛素化来促进癌症生长和进展:Cancer Res

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。2022年05月16日&#xff0c;《Cancer Res》杂志发表了题为“M6A RNA Methylation Regulates Histone Ubiquitination to Support Cancer Growth and Progression”的研究论文&#xff0c;该…...

Java 日期处理踩过的坑

前言 整理Java日期处理遇到过的问题&#xff0c;希望对大家有帮助 制作不易&#xff0c;一键三连&#xff0c;谢谢大家。 1.用 Calendar 设置时间的坑 反例&#xff1a; //提供者模式获取实例Calendar calendar Calendar.getInstance();//获取当前时间Date currentDate c…...

一文吃透 Spring 中的IOC和DI(二)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

【期末指北】嵌入式系统——选择题(feat. ChatGPT)

作者&#xff5c;Rickyの水果摊 时间&#xff5c;2023年2月20日 基本信息 ☘️ 本博客摘录了一些 嵌入式系统 的 常见选择题&#xff0c;供有需求的同学们学习使用。 部分答案解析由 ChatGPT 生成&#xff0c;博主进行审核。 使用教材信息&#xff1a;《嵌入式系统设计与应…...

MyBatis-Plus——代码生成器(3.5.1+版本)

文章目录配置数据源配置&#xff08;DataSource&#xff09;全局配置&#xff08;GlobalConfig&#xff09;包配置&#xff08;PackageConfig&#xff09;策略配置&#xff08;StrategyConfig&#xff09;模板引擎配置&#xff08;TemplateEngine&#xff09;代码生成器测试样例…...

3个实战技巧:彻底解锁Cursor Pro功能的高效完整指南

3个实战技巧&#xff1a;彻底解锁Cursor Pro功能的高效完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial…...

5种手柄映射方案让手游玩家实现主机级操控体验

5种手柄映射方案让手游玩家实现主机级操控体验 【免费下载链接】escrcpy &#x1f4f1; Display and control your Android device graphically with scrcpy. 项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy 手机游戏操控优化一直是困扰玩家的核心痛点&…...

终极moondream内存优化指南:解决大图像处理OOM问题的5个实用技巧

终极moondream内存优化指南&#xff1a;解决大图像处理OOM问题的5个实用技巧 【免费下载链接】moondream tiny vision language model 项目地址: https://gitcode.com/GitHub_Trending/mo/moondream moondream作为一款轻量级视觉语言模型&#xff08;tiny vision langua…...

告别VOC数据集:手把手教你用BDD100K训练PyTorch版MobileNetV3-SSD(含数据转换脚本)

从BDD100K到实战&#xff1a;轻量级目标检测模型MobileNetV3-SSD的完整训练指南 在计算机视觉领域&#xff0c;目标检测一直是工业界和学术界关注的焦点。随着边缘计算和移动设备的普及&#xff0c;如何在资源受限的环境中部署高效的目标检测模型成为开发者面临的新挑战。本文将…...

OpenClaw智能搜索:Qwen3.5-9B支持的知识检索与摘要

OpenClaw智能搜索&#xff1a;Qwen3.5-9B支持的知识检索与摘要 1. 为什么需要智能搜索助手 作为一个经常需要查阅技术文档的研究者&#xff0c;我每天要花大量时间在不同平台间切换——打开浏览器搜索、翻阅PDF论文、在GitHub仓库里找示例代码。最头疼的是&#xff0c;当需要…...

极简办公:OpenClaw+Qwen3.5-9B自动回复日常邮件模板

极简办公&#xff1a;OpenClawQwen3.5-9B自动回复日常邮件模板 1. 为什么需要邮件自动化助手 每天早晨打开邮箱&#xff0c;总能看到十几封格式雷同的咨询邮件——产品报价、技术支持、会议邀约……这些邮件80%的内容都可以用标准模板回复&#xff0c;但手动复制粘贴依然要耗…...

snabbt.js与Hammer.js集成终极指南:打造流畅触摸手势动画的10个技巧

snabbt.js与Hammer.js集成终极指南&#xff1a;打造流畅触摸手势动画的10个技巧 【免费下载链接】snabbt.js Fast animations with javascript and CSS transforms 项目地址: https://gitcode.com/gh_mirrors/sn/snabbt.js snabbt.js是一个轻量级JavaScript动画库&#…...

网络协议封神考点:TCP协议是如何保证可靠传输的?原理+流程图+硬核详解

网络协议封神考点&#xff1a;TCP协议是如何保证可靠传输的&#xff1f;原理流程图硬核详解一、前言二、基础定义&#xff1a;什么是TCP可靠传输&#xff1f;三、TCP保证可靠传输的6大核心机制&#xff08;必考&#xff09;3.1 机制1&#xff1a;面向连接&#xff08;三次握手 …...

从实战到复盘:K8s服务器电子数据取证竞赛全解析与核心技巧

1. K8s服务器电子数据取证竞赛全景解析 第一次参加K8s服务器电子数据取证竞赛时&#xff0c;我完全被复杂的集群环境搞懵了。三个节点、七个命名空间、近20个Pod&#xff0c;还有各种加密算法和数据库连接&#xff0c;简直像走进了一个技术迷宫。但经过几轮实战后&#xff0c;我…...

算法分析与设计

欢迎来到我的软考中级——软件设计师备考合集。这里不只是一份简单的知识点堆砌&#xff0c;而是我在备考征途中&#xff0c;对庞杂知识体系进行深度梳理与内化的结晶。 面对浩瀚的考纲&#xff0c;从计算机组成原理的底层逻辑&#xff0c;到操作系统的进程调度&#xff1b;从数…...