【Python】txt文本文件生成词云图片

  • 资源提供
  • 纯方框,无文字
  • 单字过滤
  • 任意形状词云
  • 提高清晰度
  • 完整代码

该程序由pycharm运行,产生的图片文件在项目文件夹内。

资源提供

决胜全面建成小康社会txt下载链接,进入后右键另存页面为,即可得到txt文本

纯方框,无文字


查询知wordcloud默认是不支持显示中文的,中文会被显示成方框。
需要借助wordlcloud.WordCloud初始化函数的参数font_path,把支持中文的字体的路径传给font_path
查询知道,电脑字体保存系统盘的"Windows"文件中,找到"Fonts"文件夹里。C:\Windows\Fonts
所以在python程序中,我们就可以调用这个绝对路径。

import jieba
import wordcloud
#打开文件,记得采用utf-8编码解析中文文字
f=open("C:/Users/Lenovo/AppData/Local/Temp/共产党宣言.txt","r", encoding="utf-8")
#读取内容到t
t =f.read()
f.close()
#采用jieba分词,结果为ls,其中含有很多单个字符
ls =jieba.lcut(t)
#下条主要是为了排除一个字符以下的词,没有这条文本将会分出都是单字。
ls = [word for word in ls if len(word)>1]
#下行代码将分好的列表词,转为空格分隔的字符串
txt=" ".join(ls)
#配置词云对象w
w =wordcloud.WordCloud(font_path ="C:/Windows/Fonts/msyh.ttc",width= 1000,height =700, background_color ="white")
#加载txt到词云对象中并输出结果为词云.png
w.generate(txt)
w.to_file("词云.png")

单字过滤

ls = [word for word in ls if len(word)>1]# 该条主要是为了排除一个字符以下的词,没有这条文本将会分出都是单字。
添加这条语句后的结果为:

任意形状词云

wordcloud库通过mask方法,可以形成任意形状的词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:mask = imread(‘读取一张图片.png’),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。

想形成一个五角星,则需提供一个背景为白色的五角星图片。

需要引入一个库,imread方法能够读取一个图片文件,并且保存成一个图片文件变量。

通过设置max_words来限制显示的词云中单词数目。

from imageio import imread
mask=imread("fivestar.png")
w=wordcloud.WordCloud(mask=mask,...)


还可以添加一些停用词

exclude={'我们','你们','他们','它们','因为','因而','所以','如果','那么',\
'如此','只是','但是','就是','这是','那是','而是','而且','虽然','这些',\
'有些','然后','已经','于是','一种','一个','一样','时候','没有','什么',\
'这样','这种','这里','不会','一些','这个','仍然','不是','自己','知道',\
'可以','看到','那儿','问题','一会儿','一点','现在','两个','三个'}
w=wordcloud.WordCloud(stopwords=exclude,...)

添加停用词后的效果如图。

提高清晰度

通过配置scale来提高清晰度

w=wordcloud.WordCloud(scale=4,xxxx)

scale参数为空下,500X500,47.52kB

scale=2下,1000X1000,109.38kB

scale=4下,2000X2000,257.08kB

完整代码

import jieba
import wordcloud
from imageio import imread
#配置背景图片
mask=imread("C:/Users/Lenovo/Pictures/Saved Pictures/芳3.jpg")
exclude={'我们','你们','他们','它们','因为','因而','所以','如果','那么',\
'如此','只是','但是','就是','这是','那是','而是','而且','虽然','这些',\
'有些','然后','已经','于是','一种','一个','一样','时候','没有','什么',\
'这样','这种','这里','不会','一些','这个','仍然','不是','自己','知道',\
'可以','看到','那儿','问题','一会儿','一点','现在','两个','三个'}
#打开文件,记得采用utf-8编码解析中文文字
f=open("C:/Users/lenovo/AppData/Local/Temp/共产党宣言.txt","r", encoding="utf-8")
#读取内容到t
t =f.read()
f.close()
#采用jieba分词,结果为ls,其中含有很多单个字符
ls =jieba.lcut(t)
#下条主要是为了排除一个字符以下的词,没有这条文本将会分出都是单字。
ls = [word for word in ls if len(word)>1]
#下行代码将分好的列表词,转为空格分隔的字符串
txt=" ".join(ls)
w =wordcloud.WordCloud(scale=2,stopwords=exclude,mask=mask,font_path= "C:/Windows/Fonts/msyh.ttc",width= 1000,height =700,background_color="white")
w.generate(txt)
w.to_file("词云.png")

【Python】文本文件生成词云图片-单字过滤和任意形状词云和清晰度提高相关推荐

  1. Python生成中文词云图(二):不可指定词云特定的形状和颜色。

    Python生成中文词云图(二):不可指定词云特定的形状和颜色. 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关 ...

  2. python词云形状为六边形怎么做_python第三方库wordcloud绘制任意形状词云教程

    版权声明:转载附链接哦.https://blog.csdn.net/weixin_43886356/article/details/86711292 此篇教程划分为两种情况,原文本为汉字和原文本为英文 ...

  3. wordcloud红楼梦词云图出现单字怎么办?

    在PYTHON二级教程中有一个错误,10.8.2节给出了生成<红楼梦>基本词云图的代码.不少人按照代码做一遍,才发现,生成的词云图并不像教材图片中的那么理想,出现了大量字体很大的" ...

  4. python爬歌词生成词云图_爬取每日热搜词,生成地图词云图

    这个代码还是前几个月前毛概的实践作业写得,当时好像是要绘制一个美丽中国的地图,然后就写了这么个小爬虫. 数据来源是百度风云榜,数据只采集了内地的数据 保存的文件夹自己修改一下,或者创建一个histor ...

  5. python网易云歌词做成词云图_Python实现海贼王的歌词组成词云图

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:一粒米饭 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利, ...

  6. 大数据时代从繁乱冗杂中精准提取核心文本信息 × Python Tkinter 生成词云图

    背景 人类在数字化浪潮中面临着怎样的抉择?如何把握数字时代的机遇和挑战?科技日新月异,人类生活日益便捷,你是愕然还是亢奋?机器人越来越人性化,你是恐惧焦虑还是心生欢喜?人类是否可以始终制霸选择权中的& ...

  7. Python实现输入电影名字自动生成豆瓣评论词云图(带GUI界面)小程序

    Python实现输入电影名字自动生成豆瓣评论词云图(带GUI界面)小程序 一.项目背景 电影逐渐成为人们生活的不可或缺的一部分,而了解一部电影的可以通过电影评分与大众推荐度,但以上的方式都太过于片面, ...

  8. Python实现输入电影名字自动生成豆瓣评论词云图!

    一.项目背景 电影逐渐成为人们生活的不可或缺的一部分,而了解一部电影的可以通过电影评分与大众推荐度,但以上的方式都太过于片面,了解一部电影的方法是通过已经观看完电影的人群的反馈,虽然电影评分和大众推荐 ...

  9. python生成词云图

    所谓一张图胜过千言万语, 在信息爆炸时代,一张形象生动的信息图往往要比一篇深度长文章更容易赢得眼球和青睐,万能的python怎么会少了这种工具呢,wordcloud是python的一个词云生成库,只需 ...

最新文章

  1. [转]Linux 微擎系统搭建
  2. OpenGL中摄像机矩阵的计算原理
  3. 安卓客户端与服务器交互Json数据
  4. 设置代理_ie浏览器一键取消自动检测设置并设置代理
  5. WinCE6.0的极速启动
  6. Ubuntu下面Master PDF Editor背景颜色设置
  7. Delphi format的用法
  8. python成绩登录界面_python实现登录界面
  9. 3. 吴恩达机器学习课程-作业3-多分类和神经网络
  10. 如何使用终端下载 macOS Monterey 12.1 正式版
  11. EM算法在二维高斯混合模型参数估计中的应用
  12. html在线预览显示pdf文件,pdf.js插件
  13. HT1621B显示驱动LCD显示驱动芯片- SSOP48
  14. 3000行代码之医院信息管理系统(内附MYSQL语句及背景图片)
  15. 什么是转义字符?转义字符有哪些?为什么使用转义字符?
  16. 荣耀5G,三刀拍案惊奇
  17. Google地图中关于根据具体坐标定位真实地理位置
  18. linux类mac桌面,让Linux Mint看起来更像Mac桌面的主题
  19. android如何替换contact的来电铃声
  20. Holt Winter 指数平滑模型

热门文章

  1. 互联网晚报 | 五月天演唱会黄牛票价格跌近万元;小黄车ofo尚有15亿押金没退;喜茶FENDI联名周边卖至百元一套...
  2. 【2-Python基本图形绘制】嵩天《Python语言程序设计》
  3. 信息技术c语言试题及答案,信息技术基础测试题及参考答案
  4. 嵌入式软件开发经典面试题
  5. SSO单点登录原理剖析
  6. 计算图片相似度的多种解决方案
  7. 机器学习——从0开始构建自己的CNN分类网络
  8. MTK平台抓音频log的方法
  9. xmlspy wsdl方法
  10. Vue3 setup 实时显示时间