按照你给我的代码运行后显示AttributeError: Waffle.set() got an unexpected keyword argument 'ax'
时间: 2023-12-30 15:05:03 浏览: 277
Error Encountered an improper argument
非常抱歉,我的错误!在pywaffle版本更新后,Waffle对象不再支持`ax`参数。所以我们需要将`ax`参数改为`fig`参数,同时也需要在创建图像时提供`FigureClass`参数。以下是修改后的代码示例:
```
!pip install pywaffle
import matplotlib.pyplot as plt
from pywaffle import Waffle
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(10, 5), subplot_kw=dict(projection='polar'))
waffle1 = Waffle(fig=fig, rows=10, columns=10,
values=[6499798, 1426144], vertical=True,
colors=['#20B2AA', '#D3D3D3'],
title={'label': '1978年至2022年本专科生毕业情况'},
legend={'loc': 'upper right', 'labels': ['毕业', '未毕业']})
waffle2 = Waffle(fig=fig, rows=10, columns=10,
values=[297990, 168139], vertical=True,
colors=['#20B2AA', '#D3D3D3'],
title={'label': '1978年至2022年研究生毕业情况'},
legend={'loc': 'upper right', 'labels': ['毕业', '未毕业']})
plt.show()
```
在这个示例中,我们创建了一个包含两个子图的图像,并将其分配给`fig`变量。然后,我们将每个Waffle图分别分配给每个子图。由于Waffle图现在使用`fig`参数代替`ax`参数作为图形的轴对象的,因此我们将`fig`对象分别传递给相应的Waffle图。最后,我们使用`plt.show()`来显示图像。希望这可以解决您的问题!
阅读全文