Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据保存为不同大小numpy阵列的XYZ数据绘制海生热图_Python_Numpy_Seaborn_Data Visualization_Data Science - Fatal编程技术网

Python 根据保存为不同大小numpy阵列的XYZ数据绘制海生热图

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创建了分

我有三个来自某个实验的数组,如下所示

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, 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)