matplotlib 在3D轴中绘制2D直方图

frebpwbc  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(220)

我有一个数据框架,如果我调用df.hist(),它将产生下面的图片。

我想绘制这些直方图在3d。有人有建议在jupyter笔记本上绘制几个直方图在3d轴?
我试过这个代码,但它不生成条形图,因为我希望它是。

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
nbins = 5
for c in MCC_Dataframe.columns:

    ax.hist( x=c, alpha=0.8, density=True)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

我的数据框看起来像这样

我想绘制每一列的分布图。

yqkkidmi

yqkkidmi1#

我想你想把直方图绘制成条形图:

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
nbins = 5
for y, c in enumerate(df.columns):
    hist, bins = np.histogram(df[c])
    print(hist, bins)
    ax.bar3d(bins[1:], y-.2, 0, .8, .4, hist)

ax.set_yticks(np.arange(len(df.columns)))
ax.set_yticklabels(df.columns)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

输出:

注意这只是一个示例,您必须处理跨列的不同bin。

相关问题