generate_from_frequencies:从频率字典中生成词云
该方法传入统计好的词频字典,例如{'Python': 5, 'Hadoop': 10, 'Spark': 20, '大数据': 5, '人工智能': 2, '数据': 3}
,然后生成词云。也可以使用collections.Counter()
统计列表中出现的词的频率,该方法返回一个字典,例如
import collections
words = ['Python', 'Spark', 'Spark', 'Spark', 'Python', 'Hadoop']
freq = dict(collections.Counter(words))
print(freq)
>>> {'Python': 2, 'Spark': 3, 'Hadoop': 1}
import matplotlib.pyplot as plt
from wordcloud import WordCloud
wc = WordCloud(width=1024, height=768, background_color='white',
font_path='STKAITI.TTF', max_font_size=400, random_state=50)
wc.generate_from_frequencies(
{'Python': 5, 'Hadoop': 10, 'Spark': 20, '大数据': 5, '人工智能': 2, '数据': 3})
wc.to_file('词云.jpg')
plt.imshow(wc)
plt.show()
generate或generate_from_text 从字符串中生成词云
该方法需要传入一个字符串,每个词之间用' '
空格隔开,
import matplotlib.pyplot as plt
from wordcloud import WordCloud
sentence = '路透社本周早些时候报道,寻求收购 TikTok 的字节跳动投资者对其估值高达500亿美元,\
TikTok在上个月被印度政府封禁后,7月28日,日本自民党议员联盟也向政府建议禁用TikTok等中国企业App。'
sentence = re.sub('[\'!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘\'![\\]^_`{|}~\s]+', "", sentence)
words = list(jieba.cut(sentence))
wc = WordCloud(width=1024, height=768, background_color='white',
font_path='STKAITI.TTF', max_font_size=400, random_state=50)
wc.generate_from_text(' '.join(words))
wc.to_file('词云.jpg')
plt.imshow(wc)
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)