from wordcloud import WordCloud import matplotlib.pyplot as plt wc = WordCloud(background_color="white", width=800, height=400, max_words=200, max_font_size=100, font_path='simkai.ttf', colormap='Reds') #用有效词汇前100位设置适配于词云图的数据,并转换数据类型 data_for_wordcloud = [(x, y) for x, y in zip(top100.index.tolist(), top100.tolist())] data_for_wordcloud = str(data_for_wordcloud) wc.generate(data_for_wordcloud) plt.imshow(wc, interpolation='bilinear') plt.axis("off") plt.show()这段代码出现这样错误怎么改AttributeError: 'TransposedFont' object has no attribute 'getbbox'
时间: 2024-02-27 10:53:11 浏览: 28
这个错误通常是由于你使用了 PIL 库中的 TransposedFont 类,但是该类并没有 getbbox() 方法,而该方法是在父类 ImageFont 中定义的。
解决方案是使用 ImageFont 对象而不是 TransposedFont 对象。你可以尝试将 font_path 参数指定为相应字体文件的路径,例如:
```
from wordcloud import WordCloud
import matplotlib.pyplot as plt
wc = WordCloud(background_color="white", width=800, height=400, max_words=200,
max_font_size=100, font_path='simkai.ttf', colormap='Reds')
# 用有效词汇前100位设置适配于词云图的数据,并转换数据类型
data_for_wordcloud = [(x, y) for x, y in zip(top100.index.tolist(), top100.tolist())]
data_for_wordcloud = str(data_for_wordcloud)
wc.generate(data_for_wordcloud)
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
```
其中 'simkai.ttf' 是字体文件的路径,你需要将其替换为你系统中相应字体文件的路径。