Python绘制热力图

一、Python绘制热力图代码

Python绘制热力图的代码有很多种,这里介绍两种较为常用的方法。

方法1:使用Seaborn库

import seaborn as sns
import matplotlib.pyplot as plt

# 构造数据
data = np.random.rand(10,10)

# 绘制热力图
sns.heatmap(data, cmap = "YlGnBu")

plt.show()

方法2:使用Matplotlib库

import matplotlib.pyplot as plt
import numpy as np

# 构造数据
data = np.random.rand(10,10)

# 绘制热力图
plt.imshow(data, cmap = 'hot', interpolation = 'nearest') 

plt.show()

以上两种方法中,Seaborn库的代码更加简洁,但Matplotlib库的绘图效果更加丰富。

二、Python绘制热力图设置坐标

Python绘制热力图时,往往需要对坐标进行设置,包括横轴和纵轴的标签、刻度、范围等。

import seaborn as sns
import matplotlib.pyplot as plt

# 构造数据
data = np.random.rand(10,10)

# 绘制热力图
sns.heatmap(data, cmap = "YlGnBu", xticklabels = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
            yticklabels = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"], vmin = 0, vmax = 1)

plt.xlabel('Label X', fontsize = 12)
plt.ylabel('Label Y', fontsize = 12)

plt.show()

在上述代码中,我们设置了横轴和纵轴的标签为”Label X”和”Label Y”,对应的刻度为”a”到”j”和”1″到”10″,同时设置了数据范围为0到1。

三、Python画热力图代码

Python画热力图可以借助Pandas库中的DataFrame对象来进行,具体代码如下:

import pandas as pd
import matplotlib.pyplot as plt

# 构造数据
data_dict = {"A": [1, 2, 3, 4], "B": [5, 6, 7, 8], "C": [9, 10, 11, 12], "D": [13, 14, 15, 16]}
data = pd.DataFrame(data_dict)

# 绘制热力图
plt.imshow(data, cmap = 'hot', interpolation = 'nearest')

plt.xticks(range(len(data.columns)), data.columns)
plt.yticks(range(len(data.index)), data.index)

plt.colorbar()

plt.show()

在上述代码中,我们使用了Pandas的DataFrame对象来储存数据,使用了plt.colorbar()函数来设置颜色刻度条。

四、Python导入数据画热力图

除了手动生成数据,Python也可以从外部文件中导入数据进行热力图绘制。

import pandas as pd
import matplotlib.pyplot as plt

# 从CSV文件中读取数据
data = pd.read_csv('data.csv', index_col = 0)

# 绘制热力图
plt.imshow(data, cmap = 'hot', interpolation = 'nearest')

plt.xticks(range(len(data.columns)), data.columns)
plt.yticks(range(len(data.index)), data.index)

plt.colorbar()

plt.show()

在上述代码中,我们使用了Pandas库中的read_csv函数来读取数据,索引列为第0列。

五、Python热力图怎么看

Python绘制的热力图通常颜色越深表示数值越大,颜色越浅表示数值越小。同时,我们还可以结合刻度条来观察每个颜色对应的数值范围。

在以下例子中,我们导入了一个真实的玉米产量数据,并绘制了热力图。

import pandas as pd
import seaborn as sns

# 从CSV文件中读取数据
data = pd.read_csv('corn.csv', index_col = 0)

# 绘制热力图
sns.heatmap(data, cmap = 'YlGnBu', annot = True, fmt = '.1f')

plt.show()

通过观察热力图,我们可以发现2004年、2012年以及2013年玉米产量最高,而2000年的玉米产量最低,且近几年的玉米产量呈逐年上升之势。

六、Python数据可视化热力图

Python中除了使用热力图来展示二维数据外,还可以使用三维热力图来展示三维或以上的数据。以下代码演示了如何生成三维热力图:

import plotly.graph_objs as go
import plotly.offline as pyo
import pandas as pd
 
# 从CSV文件中读取数据
data = pd.read_csv('food.csv')

# 绘制三维热力图
data_heatmap = go.Heatmap(z = data.iloc[:,2], x = data.iloc[:,0], y = data.iloc[:,1], colorbar=dict(title="Colorbar"))
 
layout = go.Layout(title = '3D Heatmap', )
fig = go.Figure(data=[data_heatmap], layout=layout)
 
pyo.plot(fig)

在上述代码中,我们使用了Plotly库来生成三维热力图,需要先通过pip install plotly进行安装。同时,我们还需要使用Pandas库来读取数据。

七、Python绘制热力图的函数

在Python中,我们还可以编写函数来绘制热力图,以方便后续使用。

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

def plot_heatmap(data, title, x_labels, y_labels, cmap):

    # 绘制热力图
    sns.heatmap(data, cmap = cmap)

    plt.title(title, fontsize  = 14)

    plt.xlabel('X Label', fontsize = 12)
    plt.xticks(np.arange(len(x_labels)) + 0.5, x_labels)
    
    plt.ylabel('Y Label', fontsize = 12)
    plt.yticks(np.arange(len(y_labels)) + 0.5, y_labels)

    plt.show()

# 调用函数绘制热力图
data = np.random.rand(10,10)
x_labels = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
y_labels = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
title = "Heatmap Example"
cmap = "YlGnBu"

plot_heatmap(data, title, x_labels, y_labels, cmap)

在上述代码中,我们定义了一个名为plot_heatmap的函数,并通过调用该函数来绘制热力图。在函数中,我们可以设置热力图的标题、标签、颜色映射等。

八、Python绘制热力图的库

Python中常用的绘制热力图的库主要有Seaborn和Matplotlib。

Seaborn库

Seaborn是基于Matplotlib的数据可视化库,专门用于统计绘图。使用Seaborn库,我们可以轻松地绘制热力图、散点图、线图、条形图等多种类型的图表,并提供了丰富的自定义选项。

Matplotlib库

Matplotlib是Python中最常用的数据可视化库之一,可以绘制出各种类型的图表,包括散点图、线图、条形图、热力图等。Matplotlib库具有丰富的自定义选项,允许用户灵活地控制图表的各个方面。

九、Python绘制热力图导入什么

在Python中,绘制热力图需要导入以下库:

  • Seaborn库(可选):用于绘制热力图、设置颜色映射等
  • Matplotlib库:用于绘制各种类型的图表,包括热力图
  • Numpy库(可选):用于生成随机数据等
  • Pandas库(可选):用于读取外部文件、构造DataFrame等

可以根据实际需要导入相应的库来绘制热力图。

十、Python绘制地图热力图

除了对二维数据进行热力图绘制外,Python还可以对地图数据进行热力图绘制。以下是一个简单的地图热力图绘制示例:

import folium
from folium.plugins import HeatMap

# 构造数据
locations = [[31.238068, 121.501654], [31.224632, 121.469796], [31.232673, 121.494752], [31.232585, 121.488436], [31.252121, 121.498117], 
             [31.228466, 121.455675], [31.223696, 121.454735], [31.246602, 121.461899], [31.239046, 121.469881], [31.191304, 121.589614],
             [31.159942, 121.364443], [31.392771, 121.410471], [31.220451, 121.547946], [31.19594, 121.618191], [31.24245, 121.505279], 
             [31.203624, 121.598726], [31.054153, 121.752955], [31.201554, 121.458754], [31.196121, 121.441206], [31.24693, 121.450372]]

# 绘制地图
map_heatmap = folium.Map(location = [31.2317066, 121.4726406], zoom_start = 12)
HeatMap(locations).add_to(map_heatmap)

# 显示地图
map_heatmap

以上代码使用了Folium库来绘制地图及热力图,需要先通过pip install folium进行安装。通过构造locations列表并通过HeatMap函数来绘制热力图,并通过Folium库将之嵌入到地图中。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/285056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-22 15:43
下一篇 2024-12-22 15:43

相关推荐

  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python编程二级证书考试相关现已可以上网购买

    计算机二级Python考试是一项重要的国家级认证考试,也是Python编程的入门考试。与其他考试一样,Python编程二级证书的考生需要进入正式考试,而为了备考,这篇文章将详细介绍…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论