python——wordcloud库(词云)(解决词云显示无字框问题)

什么是词云:
以词语为基本单元,根据其在文本中出现的"频率设计"不同大小以形成视觉上不同效果,
形成"关键词云层""关键词渲染",从而使读者只要"一瞥"即可领略文本的主旨。

词云的原理:
在生成词云时,wordcloud默认会"以空格或标点为分隔符"对目标文本进行分词处理。
对于中文文本,分词处理需要由用户来完成。
一般步骤是先将文本分词处理,然后"以空格拼接,再调用wordcloud库函数"。


核心函数:
wordcloud库的核心是WordCloud类,所有的功能"都封装在WordCloud类中"。
使用时需要实例化一个WordColoud类的对象,
并调用其generate(text)方法"将text文本转化为词云"。

WordCloud类的常用方法:
generate(text): 由text文本生成词云
to_file(filename) : 将词云图保存为名为filename的文件


实验一:(英文)
import  wordcloud
英文生成词云:在生成词云时,wordcloud默认会以"空格""标点"为分隔符对目标文本进行分词处理。

txt="I like python ,you like pycharm,he also like python"
font1="C:\Windows\Fonts\STHUPO.TTF"                          //词云字体位置设置
wd= wordcloud.WordCloud(font_path=font1).generate(txt)       //用时需要实例化一个WordColoud类的对象wd, wd调用generate()方法,将txt文本生成词云
wd.to_file("云词11.png")                                     //wd调用to_file(filename)方法,将词云图保存为名为filename的文件,图片格式也可以是  jpg或png




实验二:(中文)
中文生成词云:因为"中文文本没空格",所以要中文分词处理,这需要由用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。

import  wordcloud
import  jieba
txt1="SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息"
words=jieba.lcut(txt1)                             //采用精确分词,是为了防止分出的词冗余。如果冗余,就无法使用Wordcold的"频率分词"
print(words)                                        //结果是:['SQL', ' ', '(', 'Structured', ' ', 'Query', ' ', 'Language', ')', ' ', '是', '具有', '数据', '操纵', '和', '数据', '定义', '等', '多种', '功能', '的', '数据库', '语言', ',', '这种', '语言', '具有', '交互性', '特点', ',', '能为', '用户', '提供', '极大', '的', '便利', ',', '数据库', '管理系统', '应', '充分利用', 'SQL', '语言', '提高', '计算机', '应用', '系统', '的', '工作', '质量', '与', '效率', '。', 'SQL', '语言', '不仅', '能', '独立', '应用', '于', '终端', ',', '还', '可以', '作为', '子', '语言', '为', '其他', '程序设计', '提供', '有效', '助力', ',', '该', '程序', '应用', '中', ',', 'SQL', '可', '与', '其他', '程序语言', '一起', '优化', '程序', '功能', ',', '进而', '为', '用户', '提供', '更', '多', '更', '全面', '的', '信息']
newtxt1=" ".join(words)                            //join( )方法是将列表中的元素用指定的符号(这里指空格)链接
print(newtxt1)                                      //结果是:SQL   ( Structured   Query   Language )   是 具有 数据 操纵 和 数据 定义 等 多种 功能 的 数据库 语言 , 这种 语言 具有 交互性 特点 , 能为 用户 提供 极大 的 便利 , 数据库 管理系统 应 充分利用 SQL 语言 提高 计算机 应用 系统 的 工作 质量 与 效率 。 SQL 语言 不仅 能 独立 应用 于 终端 , 还 可以 作为 子 语言 为 其他 程序设计 提供 有效 助力 , 该 程序 应用 中 , SQL 可 与 其他 程序语言 一起 优化 程序 功能 , 进而 为 用户 提供 更 多 更 全面 的 信息
font="C:\Windows\Fonts\STHUPO.TTF"                  //词云字体位置设置
wd1=wordcloud.WordCloud(font_path=font,width=600,height=400).generate(newtxt1)
wd1.to_file("大云词3.png")




这俩句代码很重要!!!!!!!!!!!!!
font="C:\Windows\Fonts\STHUPO.TTF" //在C磁盘找字体设置,找到一种字体的路径,并赋值
font_path=font
不设置好就显示是无字框





在这里插入图片描述
实验一(英文词云)
在这里插入图片描述
实验二·(中文词云)
在这里插入图片描述

字体位置图
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值