Matplotlib分层绘制投影柱状图

问题描述

我们在2D平面上可以绘制柱状图,如果要绘制多组数据的柱状图,则可以尝试使用堆叠柱状图或者并列柱状图
但是,如果数据量过多,那么使用这两种柱状图展示数据的可视化效果就不是很理想。
这时候,我们可以先将多组数据的柱状图投射到指定平面上,再借助指定坐标轴将投射后的柱状图分层,从而在3D空间里实现多组数据的分层展示的2D柱状图的绘制任务。

Matplotlib编程实现

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection="3d")

colorList = ["#9900FF", "#FF6600", "#FF3366"]
yLayerList = [2, 1, 0]

for color, layer in zip(colorList, yLayerList):
    x = np.arange(10)
    y = np.random.rand(10)
    ax.bar(x, y, zs=layer, zdir="y", color=color, alpha=0.7)

ax.set(xlabel="X", ylabel="Y", zlabel="Z", yticks=yLayerList)

plt.show()

成品图

在这里插入图片描述

发布了505 篇原创文章 · 获赞 999 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104286257