matplotlib热力图 plt

matplotlib热力图 plt

参考:heatmap plt

热力图是一种用颜色变化来表示数据的可视化图表,通常用于显示矩阵数据的模式。在Python中,我们可以使用matplotlib库中的plt模块来绘制热力图。

1. 绘制简单的矩阵热力图

下面是一个简单的示例代码,演示如何使用plt.imshow()函数来绘制一个简单的矩阵热力图:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

2. 自定义热力图颜色

我们可以通过传入不同的cmap参数来自定义热力图的颜色。下面是一个示例代码,演示如何使用不同的颜色映射来绘制热力图:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='cool', interpolation='nearest')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

3. 调整热力图的显示范围

有时候我们需要调整热力图的显示范围,可以使用plt.clim()函数。下面是一个示例代码,演示如何调整热力图的显示范围:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.clim(0.2, 0.8)
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

4. 添加行和列标签

我们可以通过设置x轴和y轴的标签来添加行和列标签。下面是一个示例代码,演示如何添加行和列标签:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.xticks(range(5), ['A', 'B', 'C', 'D', 'E'])
plt.yticks(range(5), ['1', '2', '3', '4', '5'])
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

5. 隐藏热力图的坐标轴

有时候我们不需要显示热力图的坐标轴,可以通过设置plt.axis(‘off’)来隐藏坐标轴。下面是一个示例代码,演示如何隐藏热力图的坐标轴:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.axis('off')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

6. 添加标题和标签

我们可以通过调用plt.title()函数来添加标题,通过设置plt.xlabel()和plt.ylabel()函数来添加x轴和y轴的标签。下面是一个示例代码,演示如何添加标题和标签:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.title('Matrix Heatmap')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

7. 设置热力图的大小

我们可以通过设置plt.figure()函数的figsize参数来调整热力图的大小。下面是一个示例代码,演示如何设置热力图的大小:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.figure(figsize=(8, 6))
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

8. 绘制对角线矩阵的热力图

有时候我们需要绘制对角线矩阵的热力图,可以使用np.eye()函数生成对角线矩阵。下面是一个示例代码,演示如何绘制对角线矩阵的热力图:

import matplotlib.pyplot as plt
import numpy as np

data = np.eye(5)
plt.imshow(data, cmap='hot', interpolation='nearest')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

9. 绘制带有标签的矩阵热力图

我们可以在热力图上方标注具体的数值,可以使用plt.text()函数。下面是一个示例代码,演示如何绘制带有标签的矩阵热力图:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest')
for i in range(5):
    for j in range(5):
        plt.text(j, i, f'{data[i, j]:.2f}', ha='center', va='center', color='black')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

10. 绘制热力图的旋转版本

有时候我们需要绘制热力图的旋转版本,可以使用plt.imshow()函数的origin参数。下面是一个示例代码,演示如何绘制热力图的旋转版本:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(5, 5)
plt.imshow(data, cmap='hot', interpolation='nearest', origin='lower')
plt.colorbar()
plt.show()

Output:

matplotlib热力图 plt

总结

本文介绍了如何使用matplotlib库中的plt模块来绘制热力图。我们演示了如何绘制简单的矩阵热力图、自定义热力图颜色、调整热力图的显示范围、添加行和列标签、隐藏热力图的坐标轴、添加标题和标签、设置热力图的大小、绘制对角线矩阵的热力图、绘制带有标签的矩阵热力图以及绘制热力图的旋转版本。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程