三个变量作为热图

Dan*_*yal 0 python matplotlib heatmap

我想将我的数据绘制为具有以下结构的热图:

X = [1,1,1,1,1,1,1,1,1,1], Y = [1,2,3,4,5,6,7,8,9,10] Z = [0.2, 0.33, 0.1, 0.25, 0.0, 0.9, 0.75, 0.88, 0.44, 0.95]

x和y轴应由X和Y表示,而'heat'由Z的值表示.

例如,在坐标(x,y)=(1,2)处,强度应为0.33如何使用matplotlib实现这一目标?查看与关键字热图有关的帖子,或甚至与术语轮廓图相关的帖子,我还无法将其转移到此问题.

提前感谢任何提示Dan

sas*_*cha 6

我希望你的数据只是一个例子,因为它看起来很有趣(它更像是一系列条带; x维度是不变的).

我建议使用pandas(通用数据分析)seaborn(matplotlib-extensions),这样可以使它更好一些.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
X = [1,1,1,1,1,1,1,1,1,1]
Y = [1,2,3,4,5,6,7,8,9,10]
Z = [0.2, 0.33, 0.1, 0.25, 0.0, 0.9, 0.75, 0.88, 0.44, 0.95]
data = pd.DataFrame({'X': X, 'Y': Y, 'Z': Z})
data_pivoted = data.pivot("X", "Y", "Z")
ax = sns.heatmap(data_pivoted)
plt.show()
Run Code Online (Sandbox Code Playgroud)

产量

在此输入图像描述