Traceback (most recent call last): File "F:\pythonproject\江苏数据处理1\画箱型图.py", line 11, in <module> ax.boxplot([df1['道旅报警数/百公里'], df2['危险品报警数/百公里']], labels=['道路旅客', '危险品'], fontname=fontname) File "E:\anaconda\lib\site-packages\matplotlib\__init__.py", line 1412, in inner return func(ax, *map(sanitize_sequence, args), **kwargs) TypeError: boxplot() got an unexpected keyword argument 'fontname'
时间: 2024-01-02 12:04:22 浏览: 87
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
哦,看起来 `boxplot` 函数确实不支持 `fontname` 参数,这里有一个替代方案,使用 `rcParams` 修改全局字体设置,以下是修改后的代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
# 读取Excel1和Excel2的数据
df1 = pd.read_excel('C:\\Users\\ASUS\\Desktop\\2023310道旅.xlsx')
df2 = pd.read_excel('C:\\Users\\ASUS\\Desktop\\2023310危险品.xlsx')
# 修改全局字体设置
mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 绘制箱型图
fig, ax = plt.subplots()
ax.boxplot([df1['道旅报警数/百公里'], df2['危险品报警数/百公里']], labels=['道路旅客', '危险品'])
ax.set_ylabel('安全态势')
plt.show()
```
这里使用了 `rcParams` 修改了全局字体设置,将默认字体设置为宋体 `SimHei`。然后可以直接使用 `boxplot` 函数绘图,不需要额外指定字体。
阅读全文