Python 根据保存为不同大小numpy阵列的XYZ数据绘制海生热图
我有三个来自某个实验的数组,如下所示 X:形状为19 X 1的阵列 Y:形状为350 X 1的阵列 Z:形状为350 X 19的阵列 如果我这样做:Python 根据保存为不同大小numpy阵列的XYZ数据绘制海生热图,python,numpy,seaborn,data-visualization,data-science,Python,Numpy,Seaborn,Data Visualization,Data Science,我有三个来自某个实验的数组,如下所示 X:形状为19 X 1的阵列 Y:形状为350 X 1的阵列 Z:形状为350 X 19的阵列 如果我这样做: sns.heatmap(Z,cmap='jet', cbar=True); 地图正确,但X轴和Y轴记号标签不正确 知道如何在热图中包含所有三个(X、Y和Z)信息吗 编辑: 说 这种形式不考虑X和Y值来绘制Z。我想在相应的x和y值上绘制Z值。如果Z=f(X,Y)。直接创建seaborn热图将导致太多的YtickLabel,因为seaborn创建了分
sns.heatmap(Z,cmap='jet', cbar=True);
地图正确,但X轴和Y轴记号标签不正确
知道如何在热图中包含所有三个(X、Y和Z)信息吗
编辑:
说
这种形式不考虑X和Y值来绘制Z。我想在相应的x和y值上绘制Z值。如果Z=f(X,Y)。
直接创建seaborn热图将导致太多的YtickLabel,因为seaborn创建了分类记号sns.heatmap(Z, xticklabels=X, yticklabels=Y, square=False)
使用matplotlib,可以创建热图,如下所示:
plt.imshow(Z,范围=[X[0]-5,X[-1]+5,Y[0]-0.5,Y[-1]+0.5],
aspect='auto',cmap='magma',插值='nearest')
plt.colorbar()
为了让Seaborn创建所需的热图,需要创建一个数据框,其中X为列,Y为索引:
导入matplotlib.pyplot作为plt
将numpy作为np导入
导入seaborn作为sns
作为pd进口熊猫
X=np.arange(5190,10,dtype=int)
Y=np.arange(4508001)
Z=np.rand.rand(350,19)
df=pd.DataFrame(数据=Z,列=X,索引=Y)
sns.热图(df,平方=假)
plt.show()
请注意,对于大多数应用程序,“jet”颜色映射是。您可以添加一个最小的工作示例来重现问题:检查,您可以传递参数
xticklabels
和yticklabels
我想您需要matplotliblib的pcolormesh
。
sns.heatmap(Z, xticklabels=X, yticklabels=Y, square=False)