import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False data_a = np.array([85.5, 91, 72, 59, 66, 55]) data_b = np.array([94, 82, 89.5, 62, 49, 53]) plt.boxplot([data_a, data_b], labels=('男生各科平均成绩', '女生各科平均成绩'), meanline=True, widths=0.5, vert=False, patch_artist=True) plt.title('高二男生和女生各科平均成绩') plt.xlim(40, 100) plt.show()转为堆积面积图并美化
时间: 2024-01-20 14:03:59 浏览: 149
import numpy as np import matplotlib.pyplot as plt import math
由于盒图和堆积面积图的图形表达方式不同,不能简单地将盒图转换为堆积面积图。以下是一个堆积面积图的例子,用于对比两组数据的占比情况:
```python
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
data_a = np.array([85.5, 91, 72, 59, 66, 55])
data_b = np.array([94, 82, 89.5, 62, 49, 53])
fig, ax = plt.subplots()
ax.stackplot(range(len(data_a)), data_a, data_b, labels=('男生各科平均成绩', '女生各科平均成绩'))
ax.set_title('高二男生和女生各科平均成绩')
ax.set_xlim(0, len(data_a)-1)
ax.set_ylim(0, 200)
ax.legend(loc='upper left')
plt.show()
```
在这个例子中,我们使用了`stackplot()`函数来绘制堆积面积图。函数的第一个参数是X轴数据,第二个和第三个参数是两组数据,用于堆积在一起。我们还使用`labels`参数添加了图例,并使用`set_xlim()`和`set_ylim()`方法来设置X轴和Y轴的范围。
最后,我们可以使用各种美化技巧来增强图形的可读性,例如添加轴标签、调整字体大小和颜色等。
阅读全文