python - 制作简单 ‘词云图‘
发布日期:2021-06-30 19:50:49
浏览次数:2
分类:技术文章
本文共 1736 字,大约阅读时间需要 5 分钟。
import jiebafrom jieba.analyse import extract_tagsfrom scipy.misc import imreadfrom wordcloud import WordCloudimport matplotlib.pyplot as pltdef generater(**kwargs): content_name = kwargs['content_name'] content_path = './{}.txt'.format(content_name) top_k = kwargs['top_k'] bg_name = kwargs['bg_name'] color = kwargs['color'] font_type = kwargs['font_type'] with open(content_path, mode='r', encoding='utf-8') as f: content = f.read() ''' 根据TF/IDF提取topK个关键词 ''' tags = extract_tags(sentence=content, topK=top_k) ''' 得到关键词的词频 ''' # 全模式 words = [word for word in jieba.cut(content, cut_all=True)] words_freq = {} for tag in tags: freq = words.count(tag) words_freq[tag] = freq ''' 设置背景 scipy.misc imread():返回的是 numpy.ndarray 也即 numpy 下的多维数组对象 ''' bg_path = './{}.png'.format(bg_name) bg_img = imread(bg_path) font_path = './{}.ttf'.format(font_type) word_cloud = WordCloud(font_path=font_path, # 设置字体 background_color=color, # 背景颜色 max_words=top_k, # 词云显示的最多词数 max_font_size=100, # 字体最大 mask=bg_img, # 背景图 ) word_cloud.generate_from_frequencies(words_freq) plt.imshow(word_cloud) plt.axis('off') # 不显示坐标轴 plt.show() # 保存图片 word_cloud_img = './{}_word_cloud.jpg'.format(content_name) word_cloud.to_file(word_cloud_img)if __name__ == '__main__': generater(content_name=' xx xx ', top_k=66, bg_name='china', # 默认png color='black', font_type='wryh')
链接:密码: ujxc
windows 安装 wordcloud
pip install wordcloud-1.3.1-cp36-cp36m-win_amd64.whl
转载地址:https://lipenglin.blog.csdn.net/article/details/74502668 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年05月03日 07时40分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CodeForces - 1059B Forgery (思维)
2019-04-30
CodeForces - 456C Boredom (dp)
2019-04-30
CodeForces - 960B Minimize the error (思维,贪心)
2019-04-30
CodeForces - 97B Superset (思维/分治/构造)
2019-04-30
CodeForces - 675A Infinite Sequence(简单数论 细节)
2019-04-30
CodeForces - 1042B Vitamins (思维)
2019-04-30
ACM 2013 长沙区域赛 Alice's Print Service (二分 思维)
2019-04-30
ACM 2013 长沙区域赛 Collision (几何)
2019-04-30
CodeForces - 1064A Make a triangle! (简单模拟)
2019-04-30
51Nod - 1183 编辑距离 (dp)
2019-04-30
ACM 2014 鞍山区域赛 E - Hatsune Miku (dp)
2019-04-30
反向传播&梯度下降 的直观理解程序(numpy)
2019-04-30
ACM 2017 南宁区域赛 Rake it in(对抗搜索)
2019-04-30
CodeForces - 931B World Cup (思维 模拟)
2019-04-30
CodeForces - 996D Suit and Tie (暴力)
2019-04-30
ACM 2017 香港区域赛 E - Base Station Sites(二分)
2019-04-30