python3.6 无法使用wordcloud 1.9版本的问题

最近发现python3.6 使用wordcloud 1.8.1 建立词云图没有任何错误,但相同的Python代码如果安装的wordcloud>1.9 则会出现各种错误如truetype fonts ...

通过错误信息代码定位,发现wordcloud的源代码有修改并且无法兼容3.6,于是修改了第508行和第510行:

 508: box_size = draw.textbox((0, 0), word, font=transposed_font, anchor="lt")
           
 510:  result = occupancy.sample_position(box_size[3] + self.margin,
                                                   box_size[2] + self.margin,
                                                   random_state)

修改为:

508:  box_size = draw.textsize(word, font=transposed_font)
 510: result = occupancy.sample_position(box_size[1] + self.margin,
                                                   box_size[0] + self.margin,
                                                   random_state)

以上修改完毕,python3.6成功使用最新版本的wordcloud

然后使用修改版本的wordcloud代码 分别在python 3.8.10 和python 3.10.4 中测试,也没有问题。

GitHub - amueller/word_cloud: A little word cloud generator in Python 中有说明,是没有经过python3.6测试的

你可能感兴趣的:(python,python,wordcloud,truetype,font)