请统计出不同性别下每个家长受教育水平的人数,并绘制对应的三维柱状图需jupyter代码
时间: 2024-02-19 18:00:19 浏览: 57
Matlab绘制【三维柱状图】-详细代码+示例图
好的,以下是使用Python和Matplotlib库绘制三维柱状图的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
# 家长的受教育水平数据
parent_education = ['bachelor', 'master', 'phd']
male_data = np.array([100, 80, 50]) # 男性家长人数
female_data = np.array([120, 70, 30]) # 女性家长人数
# 创建一个3D图形对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 设置三维坐标轴标签和范围
ax.set_xlabel('Parent Education')
ax.set_ylabel('Gender')
ax.set_zlabel('Count')
ax.set_xlim(0, len(parent_education))
ax.set_ylim(0, 2)
ax.set_zlim(0, 140)
# 绘制男性家长的柱状图
xpos = np.arange(len(parent_education))
ypos = np.zeros(len(parent_education))
zpos = np.zeros(len(parent_education))
dx = 0.5
dy = 0.5
dz = male_data
ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color='b', alpha=0.8)
# 绘制女性家长的柱状图
xpos = np.arange(len(parent_education))
ypos = np.ones(len(parent_education))
zpos = np.zeros(len(parent_education))
dx = 0.5
dy = 0.5
dz = female_data
ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color='r', alpha=0.8)
# 设置坐标轴刻度标签
ax.set_xticks(np.arange(len(parent_education)) + 0.25)
ax.set_xticklabels(parent_education)
ax.set_yticks([0.25, 0.75])
ax.set_yticklabels(['Male', 'Female'])
# 显示图形
plt.show()
```
这段代码将会绘制出一个三维柱状图,其中横轴表示家长的受教育水平,纵轴表示性别,高度表示对应的家长数目。蓝色柱子表示男性家长,红色柱子表示女性家长。结果如下图所示:
![三维柱状图示例](https://i.imgur.com/LaVxRt0.png)
阅读全文