按以下要求绘制图形:1.随班级的变化的男生人数折线图;2.分类柱状图;3.堆积柱状图;4.堆积条形图。一班男生人数12,女生人数16;二班男生人数18,女生人数10;三班男生人数15,女生人数15;四班男生人数20,女生人数9。
时间: 2024-12-28 08:32:24 浏览: 3
在Python中,我们可以使用matplotlib库来绘制这四种类型的图形。下面分别给出了如何绘制每种图形的代码示例:
1. 折线图(随班级变化的男生人数):
```python
import matplotlib.pyplot as plt
class_distribution = ['一班', '二班', '三班', '四班']
male_students = [12, 18, 15, 20]
plt.plot(class_distribution, male_students, marker='o')
plt.xlabel('班级')
plt.ylabel('男生人数')
plt.title('随班级变化的男生人数折线图')
plt.show()
```
2. 分类柱状图(按性别分类的人数):
```python
plt.bar(class_distribution, [male_students + female_students for female_students in [16, 10, 15, 9]])
plt.xlabel('班级')
plt.ylabel('总人数')
plt.title('班级男女学生分类柱状图')
plt.show()
```
3. 堆积柱状图(显示男生和女生各自占比):
```python
bar_width = 0.35
plt.bar(class_distribution, male_students, bar_width, label='男生')
plt.bar(class_distribution, [females for females in [16, 10, 15, 9]], bar_width, bottom=male_students, label='女生')
plt.xlabel('班级')
plt.ylabel('人数')
plt.title('班级男女学生堆积柱状图')
plt.legend()
plt.show()
```
4. 堆积条形图(同上,视觉效果略有不同):
```python
stacked_bars = plt.stackplot(class_distribution, male_students, [females for females in [16, 10, 15, 9]])
plt.setp(stacked_bars, colors=['blue', 'pink'])
plt.xlabel('班级')
plt.ylabel('人数')
plt.title('班级男女学生堆积条形图')
plt.show()
```
以上就是按照要求绘制图形的简单例子。
阅读全文