大二寒假,在公司闲暇时间完成了Python课程作业,记录一下:

题目:完成两个词云图

(1)完成《中共中央关于党的百年奋斗重大成就和历史经验的决议》的词云,并解释词云体现的内涵意义。文本文档建文件“中共中央关于党的百年奋斗重大成就和历史经验的决议.txt”。决议总共七个部分,也可以只选择其中一部分或者几个部分形成新的.txt文件再做词云。(要求背景图片形状是一幅中国地图)。

(2)完成“郑州市第29场新冠肺炎疫情防控新闻发布会”的词云图,文本文件见“郑州市第29场新冠肺炎疫情防控新闻发布会.txt”。(要求背景图片形状是一幅穿防护服的白衣天使背景图像)。

完整代码:

import wordcloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as pltdef first_wordcloud():with open("中共中央关于党的百年奋斗重大成就和历史经验的决议.txt", "r", encoding="utf-8") as f:mask = np.array(Image.open("image/china-map.png"))text = f.read()w = wordcloud.WordCloud(background_color="white",font_path="C:/Windows/Fonts/simhei.ttf",mask=mask)w.generate(text)w.to_file("output/中共中央关于党的百年奋斗重大成就和历史经验的决议.png")plt.imshow(w) plt.show() def second_wordcloud():with open("郑州市第29场新冠肺炎疫情防控新闻发布会.txt", "r", encoding="utf-8") as f:mask = np.array(Image.open("image/white-angel-withWhiteBackground-Highppi.png"))text = f.read()w = wordcloud.WordCloud(background_color='white',font_path="C:/Windows/Fonts/simhei.ttf",mask=mask)w.generate(text)w.to_file("output/郑州市第29场新冠肺炎疫情防控新闻发布会.png")plt.imshow(w) plt.show() if __name__ == '__main__':first_wordcloud()second_wordcloud()

因为之前做过词云,所以这次很快就做出来了,这是所呈现的效果(不要纠结为什么台湾没有画出来,这是因为那一块太小所以wordcloud没有填充进去):

其中遇到的问题:

找mask图片是一个大问题。中国地图比较好找,我就在网上随便找了一个。但是发现生成的词云清晰度太低太低,连字都看不清。尝试改生成函数中的参数,发现不管用,因为用mask的情况下会强制以mask的分辨率作为最终生成图片的分辨率。

生成出来的图片很大很大:

当然图片分辨率也不能提升太多,不然会报错:

matplotlib库可以展示图片

在做第二张词云图的时候,遇到了一个棘手的问题。因为我找的医生图片背景是transparent的,在生成词云的时候效果很差。在网上找了很久,最终在Stack Overflow上找到解决方案:

python - wordcloud words not fitting to mask - Stack Overflow

于是在网站上用工具把图片的transparent北京改成纯白RGB 255,255,255,就可以正常生成了

利用wordcloud库生成词云(Python)相关推荐

  1. 利用背景图片生成词云

    本文主要对爬取数据的一些高频词采用词云生成进行可视化展示. 1 爬取csdn的文章 准备txt 和背景图片 建议颜色区分大点 需要的字体 2 安装jieba 和 wordcloud 3 编写代码 fr ...

  2. 【WordCloud】生成词云

    generate_from_frequencies:从频率字典中生成词云 该方法传入统计好的词频字典,例如{'Python': 5, 'Hadoop': 10, 'Spark': 20, '大数据': ...

  3. 钱钟书《围城》 使用 Python wordcloud jieba 生成词云分析图

    文章目录 Intro Requirements 分析结果(4张图) 代码 Intro 这几天看了钱钟书老先生的<围城>,读过之后有种感觉:如果对全文分词,按照出现频率从高到低应该是: 小姐 ...

  4. 基于Scrapy框架爬取豆瓣《复联4》影评,并生成词云

    基于Scrapy框架爬取豆瓣<复联4>影评,并生成词云 1. 介绍及开发环境 2. 爬虫实现 2.1 新建项目 2.2 构造请求 2.3 提取信息 2.4 数据存储 2.4 运行结果 3. ...

  5. Python + wordcloud + jieba 十分钟学会用任意中文文本生成词云

    前述 本文需要的两个Python类库  jieba:中文分词分词工具  wordcloud:Python下的词云生成工具 写作本篇文章用时一个小时半,阅读需要十分钟,读完该文章后你将学会如何将任意中文 ...

  6. 导出微信聊天记录,使用python进行分词,生成词云

    导出微信聊天记录,使用python进行分词,生成词云 导出微信聊天记录,使用python进行分词,生成词云 备份数据 浏览.导出数据 查看数据 操作数据库,分析生成词云 下载全部文件 导出微信聊天记录 ...

  7. 如何使用python生成词云并透明背景的词云?

    首先是我们需要用到的两个库,一个是wordcloud用于生成词云,还有一个是jieba(外号:结巴)用于进行中文的分词,如果你制作的图云中不包含中文,那么可以不用下载结巴. 环境报错解决思路 如果你是 ...

  8. 教你用Python生成词云

    程序员有三种美德:懒惰,急躁和傲慢 平时在网上经常看到这样的图片 我就想,这些东西能不能用python实现呢,果然python库无所不在,有一个库wordcloud就是干这个的 如果你没有可以使用pi ...

  9. python词频统计 生成词云

    博客简介 本篇博客介绍2个第三方库,中文分词库jieba和词云库WordCloud,我们将完成三个例子: 统计英文词汇频率 统计中文文本词汇频率使用jieba库 生成词云 在正式开始之前,我们先安装两 ...

最新文章

  1. 自己写的web标准教程,帮你走进web标准设计的世界——第三讲(html终结篇)
  2. Halcon算子:min_max_gray和gray_histo的区别
  3. Windows下打包maven项目,编写bat脚本,dos命令在后台运行与关闭
  4. ubuntun 下安装 node-v0.10.26
  5. DirectionalLayout线性布局
  6. IDC 2018可穿戴市场报告:耳戴式设备占比四分之一,成“新宠”
  7. linux怎么取消raid磁盘阵列,Linux下彻底关闭某个RAID磁盘阵列
  8. 使用 bat 文件管理计算机服务
  9. Lighttpd 的安装配置(web服务器软件)
  10. php ip2long bug,php ip2long函数怎么用-PHP问题
  11. ListView实现多种item布局的方法和注意事项
  12. 【LeetCode】【HOT】84. 柱状图中最大的矩形(栈)
  13. Java集合框架类图
  14. 桌面计算机打不开win8.1,Win8.1怎么进桌面 2种Win8.1开机直接进桌面方法
  15. 电容笔和触控笔哪个好?2022年电容笔推荐选购指南
  16. 云计算就业薪资怎么样 如何加入云计算行列
  17. Android 设备管理器和有权查看使用情况的应用详解
  18. 51单片机延时程序(以延时30ms为例)
  19. FF7 中的最大伤害分析
  20. Android11 DHCP初识

热门文章

  1. 网易云歌词居中滚动、点击/滑动进度条对应滚动、当前播放歌词高亮
  2. 无线连接让智能手表用户可以自行沟通和监控
  3. Jira安装及配置----最详细的教程(测试木头人)
  4. 手把手教你用Smartbi制作:常用报表之分栏报表
  5. 机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测
  6. 网络的宽度对深度学习模型的性能影响
  7. boss直聘自动招聘助手
  8. 今日头条面试题(二)
  9. 初识OpenGL (2)编译着色器
  10. 【疑难解答】海康硬盘录像机无法通过rtsp协议连接到EasyNVR的Web页面如何处理?