我正在尝试使用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
奖金问题:如何更改文字颜色?
如前所述,将字体更改为,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] 删除。
我来说两句