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 15:04:22 浏览: 93
哦,看起来 `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` 函数绘图,不需要额外指定字体。
相关问题
E:\anaconda\python.exe F:\pythonproject\江苏数据处理1\时间转换.py Traceback (most recent call last): File "F:\pythonproject\江苏数据处理1\时间转换.py", line 48, in <module> if not re.findall(pattern, x): File "E:\anaconda\lib\re.py", line 241, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or bytes-like object
这个错误通常是因为传递给`re.findall()`函数的`string`参数不是一个字符串或类似字节对象。请确保`x`变量是一个字符串,并且没有错误地传递给了`re.findall()`函数。
另外,还要确保已经正确导入了`re`模块。你可以在代码的开头添加以下导入语句来确保导入了正则表达式模块:
```python
import re
```
如果你已经导入了正则表达式模块,并且`x`确实是一个字符串,但仍然遇到这个错误,请检查`x`变量的值是否符合预期。你可以使用`print()`语句输出`x`的值,以便进行调试。
如果问题仍然存在,请提供更多相关的代码和错误信息,以便我们能够更好地帮助你解决问题。
Traceback (most recent call last): File "C:/Python38/pythonProject/poi.py", line 60, in <module> jsonf = urllib.urlopen(url) Traceback (most recent call last): File "C:/Python38/pythonProject/poi.py", line 60, in <module> jsonf = urllib.urlopen(url) AttributeError: module 'urllib' has no attribute 'urlopen'
您遇到的错误是因为urllib模块中没有urlopen这个属性。Python 3中urllib模块被分为了urllib.request、urllib.parse、urllib.error等子模块。
要解决这个问题,您可以将代码中的urllib替换为urllib.request。请尝试以下修改:
```python
import urllib.request
url = "your_url_here"
jsonf = urllib.request.urlopen(url)
```
这样应该可以解决您的问题。如果还有其他问题,请随时提问。
阅读全文