003《Python数据分析、挖掘与可视化(第2版)》/例9-15.py
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import mpl_toolkits.mplot3d

# 创建DataFrame结构
df = pd.DataFrame({'男性':(450,800,200),
                   '女性':(150,100,300)})
# 创建三维图形
ax = plt.subplot(projection='3d')

# 绘制三维柱状图
ax.bar3d([0]*3, range(3), [0]*3,
          0.1, 0.1, df['男性'].values,
          color='r')
ax.bar3d([1]*3, range(3), [0]*3,
          0.1, 0.1, df['女性'].values,
          color='b')

# 设置坐标轴刻度和文本
ax.set_xticks([0,1])
ax.set_xticklabels(['男性','女性'], fontproperties='simhei')
ax.set_yticks([0,1,2])
ax.set_yticklabels(['从不闯红灯','跟从别人闯红灯','带头闯红灯'],
                   fontproperties='simhei')
# 设置z轴标签
ax.set_zlabel('人数', fontproperties='simhei')

plt.show()