我在32x32数组中具有直径和速度分类数据。每行代表直径大小,每列代表速度大小。数组中的数字表示适合每个直径/速度类别的粒子数。
我绘制了一个数组大小为(32,8094)的数组。每行是一个直径,每列表示一天中的10秒时间。我所附的第一张图是到目前为止的内容。通过使用seaborn.heatmap,我能够以2D方式绘制3D数据。但是,我的问题是它绘制了直径仓号(行1-32)而不是仓值(实际直径大小)。
这是我的代码,其中Dropdata是一个数组数组,在其中循环遍历每10秒的数据:
DD=[]
for row in Dropdata:
row=row.reshape(32,32)
dropsizes=[]
for ii in range(0,32):
if(np.sum(row[ii])>0):
dropsizes.append(np.sum(row[ii]))
else:
dropsizes.append(np.nan)
DD.append(dropsizes)
DD=np.array(DD)
DD=DD.transpose()
import seaborn as sns
ax=sns.heatmap(DD,cmap='cividis',xticklabels=360,vmin=0,vmax=20)
ax.invert_yaxis()
ax.set_xticklabels(np.arange(0,23))
xlabel('Time [UTC]', fontsize=16)
ylabel('Diameter Bins (mm)',fontsize=16)
title('Drop Size Concentration Time Series',fontsize=20)
show()
我有一个名为Dbins的列表,其中包含32种大小。我需要该图来绘制实际大小而不是箱号。我该怎么做?第二张图是我希望数据看起来像的样子(显然是不同的数据)