如何在python中操纵我的热图图以在y轴上绘制浮点图?

时间:2019-07-22 20:28:44

标签: python graph heatmap

我在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()

第一张图是我从这段代码中得到的。 enter image description here

我有一个名为Dbins的列表,其中包含32种大小。我需要该图来绘制实际大小而不是箱号。我该怎么做?第二张图是我希望数据看起来像的样子(显然是不同的数据)

enter image description here

0 个答案:

没有答案