工具篇3.5世界热力图

文章介绍了世界热力图作为一种地图形式,用于展示全球各地数据分布,如GDP和人口。Plotly是一个强大的Python数据可视化库,支持创建交互式图表,包括热力图。文中提供了安装Plotly的步骤,以及如何使用Plotly的Choropleth类创建热力图,展示国家间的GDP差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定义

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

代码所使用文件

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨平生9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值