txt文件中的Python Wordcloud

Vin23

我正在尝试使用txt文件中的文本创建wordcloud。

到目前为止,这是我的代码

import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS


file_content=open ("tweets.txt").read()



wordcloud = WordCloud(font_path = 'C:\Windows\Fonts\Verdana.tff',
                            stopwords=STOPWORDS,
                            background_color = 'white',
                            width=1200,
                            height=1000
                            ).generate(file_content)

plt.imshow(wordcloud)
plt.axis('off')
plt.show()

我运行此代码后显示的错误是:

 File "WordCloud.py", line 14, in <module>
    ).generate(file_content)
  File "C:\Python27\lib\site-packages\wordcloud\wordcloud.py", line 448, in generate
    return self.generate_from_text(text)
  File "C:\Python27\lib\site-packages\wordcloud\wordcloud.py", line 434, in generate_from_text
    self.generate_from_frequencies(words)
  File "C:\Python27\lib\site-packages\wordcloud\wordcloud.py", line 317, in generate_from_frequencies
    font = ImageFont.truetype(self.font_path, font_size)
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 238, in truetype
    return FreeTypeFont(font, size, index, encoding)
  File "C:\Python27\lib\site-packages\PIL\ImageFont.py", line 127, in __init__
    self.font = core.getfont(font, size, index, encoding)
IOError: cannot open resource

奖金问题:如何更改文字颜色?

马丁·埃文斯(Martin Evans)

如前所述,将字体更改为,ttf但我还建议您r在其前面加上前缀,以免意外引起反斜杠转义。

要添加自己的配色方案,您需要添加一个颜色回调函数,例如random_color_func这是一种使用随机L以及固定H和S的HSL类型颜色。

import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS


def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
    h = int(360.0 * 45.0 / 255.0)
    s = int(100.0 * 255.0 / 255.0)
    l = int(100.0 * float(random_state.randint(60, 120)) / 255.0)

    return "hsl({}, {}%, {}%)".format(h, s, l)

file_content=open ("tweets.txt").read()

wordcloud = WordCloud(font_path = r'C:\Windows\Fonts\Verdana.ttf',
                            stopwords = STOPWORDS,
                            background_color = 'white',
                            width = 1200,
                            height = 1000,
                            color_func = random_color_func
                            ).generate(file_content)

plt.imshow(wordcloud)
plt.axis('off')
plt.show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章