Python 热力图:使用 C 数组量化 A 和 B 的统计分布
以下是一段 Python 代码,用于生成 A、B 两个数组的热力图,并使用 C 数组进行颜色量化:
import numpy as np
import matplotlib.pyplot as plt
# 生成 A、B、C 三个数组
A = np.random.rand(10, 10)
B = np.random.rand(10, 10)
C = np.random.randint(0, 10, size=(10, 10))
# 绘制热力图
fig, ax = plt.subplots()
im = ax.imshow(A/B, cmap='Reds', vmin=0, vmax=1)
# 添加颜色条
cbar = ax.figure.colorbar(im, ax=ax)
cbar.ax.set_ylabel('C', rotation=-90, va='bottom')
# 设置横纵坐标轴标签
ax.set_xticks(np.arange(10))
ax.set_yticks(np.arange(10))
ax.set_xticklabels(np.arange(1, 11))
ax.set_yticklabels(np.arange(1, 11))
# 添加每个单元格的数值
for i in range(10):
for j in range(10):
text = ax.text(j, i, '{:.2f}'.format(A[i, j]/B[i, j]), ha='center', va='center', color='w')
# 设置图像标题
ax.set_title('A/B Heatmap with C')
# 显示图像
plt.show()
该代码首先生成了三个 10x10 的随机数组 A、B 和 C,其中 A 和 B 用于计算每个单元格的值,C 用于量化颜色深浅。然后,使用 imshow 函数绘制了 A/B 的热力图,并设置了颜色映射为 'Reds',颜色最小值为 0,最大值为 1。接着,使用 colorbar 函数添加颜色条,并设置其标签为 'C'。然后,设置横纵坐标轴标签和刻度,并使用 text 函数为每个单元格添加数值。最后,设置了图像标题并显示图像。
原文地址: https://www.cveoy.top/t/topic/mCjE 著作权归作者所有。请勿转载和采集!