词云可视化笔记小结

本文介绍了使用wordcloud库创建词云的详细步骤,包括基本参数设置、从外部文件导入文本、分词处理以及高级用法如指定词云形状、去除停用词、设置颜色等。还展示了情感分析词云和《三国演义》人物阵营分色词云的示例。
摘要由CSDN通过智能技术生成

本文可参考的github文件
想了解更多词云背后的原理
同济子豪兄的简书教程

wordcloud库

常用参数

w = wordcloud.WordCloud(      
    width=400,
    height=200,
    background_color='black',
    font_path=None, 
    font_step=1,
    min_font_size=4,
    max_font_size=None,
    max_words=200,
    stopwords={
   },
    scale=1,
    prefer_horizontal=0.9,
    relative_scaling=0.5,
    mask=None) 

  • width 词云图片宽度,默认400像素

  • height 词云图片高度 默认200像素

  • background_color 词云图片的背景颜色,默认为黑色

  background_color='white'
  • font_step 字号增大的步进间隔 默认1号

  • font_path 指定字体路径 默认None,对于中文可用font_path=‘msyh.ttc’

  • mini_font_size 最小字号 默认4号

  • max_font_size 最大字号 根据高度自动调节

  • max_words 最大词数 默认200

  • stop_words 不显示的单词 stop_words={“python”,“java”}

  • Scale 默认值1。值越大,图像密度越大越清晰

  • prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?

  • relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍

  • mask 指定词云形状图片,默认为矩形
    若想改变词云的形状,可通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)

 	import imageio
    mk = imageio.imread("picture.png")
    w = wordcloud.WordCloud(mask=mk)

不常用参数

  • stop_word:默认无。设定取词程序在某个词处停止,

  • prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?,

  • font_step:默认值1,整数型。对生成的词抽样,设定抽取的两个词之间略过的词的个数,

  • mode:默认值“RGB”,字符串型。或者使用“RGBA”产生透明背景,

  • relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍,

  • regexp:默认无,字符串类型。至于作用,笔者还没搞懂,

  • collocations:默认为True,可选项为“bool”。决定词云是否可以包含两个词的搭配,

  • colormap: srting or matplotlib colormap, default=‘viridis’:如果“color_func”指定,则失效;否则由matplotlib的色彩库为每个词随机定颜色,

  • normalize_plurals: bool, default=True:默认为True。默认True决定将词尾后缀‘s’删除。

一个简单的词云示例

# 导入词云制作第三方库wordcloud
import wordcloud

# 创建词云对象,赋值给w,现在w就表示了一个词云对象
w = wordcloud.WordCloud()

# 调用词云对象的generate方法,将文本传入
w.generate('and that government of the people, by the people, for the people, shall not perish from the earth.')

# 将生成的词云保存为output1.png图片文件,保存出到当前文件夹中
w.to_file('output1.png')

外部文件导入文本

若想从未外部文件中导入文本,可参考以下代码

import wordcloud

# 从外部.txt文件中读取大段文本,存入变量txt中
f = open('关于实施乡村振兴战略的意见.txt',encoding='utf-8')
txt = f.read()

# 构建词云对象w,设置词云图片宽、高、字体、背景颜色等参数
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')

# 将txt变量传入w的generate()方法,给词云输入文字
w.generate(txt)

# 将词云图片导出到当前文件夹
w.to_file('output3-sentence.png')

分词后在生成词云

此处举例基于中文分词工具包jieba

由于wordcloud库在绘制词云时generate()方法要求传入的参数(即文本)为以空格分隔的词组成的字符串。因此再对文本进行处理时需要注意将完整的中文字符串转换成以空格分隔的词组成的字符串

示例代码如下

>>> import jieba
>>> textlist = jieba.lcut('动力学和电磁学')
>>> textlist
['动力学', '和', '电磁学']
>>> string = " ".join(textlist)
>>> string
'动力学 和 电磁学'

此时词云生成的示例代码如下

# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 构建并配置词云对象w
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_pat
词云可视化是一种非常漂亮的数据展示方式,通过词云可以将文本中的关键词以视觉的方式呈现出来。在Python中,有一个非常流行的第三方库叫做wordcloud可以用来生成词云图。你可以使用简短的几行代码就能够实现词云可视化词云可视化的好处在于,它可以帮助我们直观地了解文本中的关键词和频率,从而更好地理解和分析文本内容。它可以用于文本挖掘、情感分析、主题分析等各种应用场景。 对于编程新手来说,学会使用Python进行词云可视化可以是一个很好的入门项目。你可以学会如何处理文本、中文分词以及通过词云图展示文本中的关键词。对于有经验的编程专家来说,词云可视化可以帮助他们进一步熟悉Python的开源社区和计算生态,同时也可以通过自定义词云的样式和参数来展示个人风格。 总结来说,词云可视化是一种强大而美观的数据展示方式,在Python中使用wordcloud库可以轻松实现。它可以帮助我们更好地理解和分析文本内容,同时也是学习Python和文本处理的一个很好的入门项目。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [词云可视化:四行Python代码轻松上手到精通](https://blog.csdn.net/qq_41822781/article/details/90671050)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [用 Python 实现词云可视化](https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/104604193)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值