python常用库大全文库_Python零基础入门学习22:常用第三方库之wordcloud词云制作...-程序员宅基地

技术标签: python常用库大全文库  

:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性。

本文约2000字,阅读时间约为5分钟

本文介绍如何使用Python制作词云。

词云的概念

“词云”,就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。词云图过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

词云的一个例子如下:

a8fbcbd4d427a08dc4aea7bbc7b12b22.png

词云图的一个例子

制作词云前的准备

Python制作词云要用到第三方库wordcloud和imageio。它们的安装方法依然是命令行输入conda install 或 pip install 。

关于第三方库的安装,更多详情请移步至:Python零基础入门学习20:常用第三方库之PyInstaller库

wordcloud库的使用

wordcloud库把词云当作一个WordCloud对象。(注意字母的大小写)

wordcloud.WordCloud()代表一个文本对应的词云。其功能是根据文本中词语出现的频率等参数绘制词云。绘制词云的形状、尺寸和颜色都可以设定。

wordcloud库常用方法

以WordCloud对象为基础。 配置参数、加载文本、输出文件。

w = wordcloud.WordCloud()

w.generate(txt)——向WordCloud对象w中加载文本txt。

w.generate("Python and WordCloud")

w.to_file(filename)——将词云输出为图像,.png或.jpg格式。

w.to_file('outfile.png')

wordcloud库常用方法

  • 步骤1:配置对象参数。
  • 步骤2:加载词云文本。
  • 步骤3:输出词云文件。
import wordcloudc = wordcloud.WordCloud()c.generate("wordcloud by Python")c.to_file("pywordcloud.png")

以上代码运行成功后,会生成一个本地的图片,图片与源程序在同一个文件夹之内。

关于词云生成的图片

图片宽度默认为width = 400,height = 200。

词云图片是以空格分隔单词的。统计单词出现的次数,高频率的词显示比较大,低频率的词显示比较小。统计单词出现次数并过滤。词云图片会过滤掉过很短的单词,比如1-2个字母的。

词云图片的显示配置

w = wordcloud.WordCloud()

width——指定词云对象生成的图片的宽度,默认为400像素。

height——指定词云对象生成的图片的高度,默认为200像素。

w = wordcloud.WordCloud(width = 600, height = 800)

min_font_size——指定词云中字体的最小字号,默认4号。 w = wordcloud.WordCloud(min_font_size = 10)

max_font_size——指定词云中字体的最大字号,根据高度自动调节。 w = wordcloud.WordCloud(max_font_size = 20)

font_step——指定词云中字体字号的步进间隔,默认为1。

w = wordcloud.WordCloud(font_step = 2)

font_path——指定字体文件的路径,默认None。

w = wordcloud.WordCloud(font_path = "msyh.ttc")

max_words——指定词云显示的最大单词数量,默认200。

w = wordcloud.WordCloud(max_words = 20)

stop_words——指定词云的排除列表,即不显示的单词列表。

w = wordcloud.WordCloud(stop_words = {"Python"}) # 不显示"Python"这个词

mask——指定词云形状,默认为长方形,需要引用imread()函数。

from imageio import imreadmk = imread("pic.png")w = wordcloud.WordCloud(mask = mk)

background_color——指定词云图片的背景颜色,默认为黑色。

w = wordcloud.WordCloud(background_color = "white")

下面是一个修改词云显示的例子:

import wordcloudtxt = "life is short, you need python"w = wordcloud.WordCloud(background_color = "white")w.generate(txt)w.to_file("pycloud.png")
中文词云实例

以朱自清的文章《背影》中的一段为例,展示词云的制作。

import wordcloudimport jiebatxt = "程序设计语言是计算机能够理解和识别用户操作亦图的一种交互体系,它按照       特定规则组织计算机指令,使计算机能够自动进行各种运算处理"w = wordcloud.WordCloud(width = 1000, font_path = "msyh.ttc", height = 700)w.generate(" ".join(jieba.lcut(txt)))w.to_file("pywcloud.png")

制作出来的词云图片如下:

f404a67cb42491bbacabb0a7a880d1b4.png

《背影》某段文章的词云图

To be continued.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42360788/article/details/112439128

智能推荐

前后端分离原理-程序员宅基地

文章浏览阅读85次。前言  前后端分离已成为互联网项目开发的业界标准使用方式,通过Nginx+Tomcat的方式(也可以中间加一个Node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。核心思想是前端HTML页面通过Ajax调用后端的res...

基于改进注意力机制的U-Net模型实现及应用(keras框架实现)_u-net注意力机制-程序员宅基地

文章浏览阅读9.3k次,点赞13次,收藏120次。1.摘要上节我们基于U-Net模型设计并实现了在医学细胞分割上的应用(ISBI 挑战数据集),并给出了模型的详细代码解释,在上个博客中,我们为了快速训练U-Net模型对其进行了缩减,将庞大的U-Net的转换为很小&的结构,导致其准确率才达到75%左右。为了进一步提高U-Net模型在细胞分割上的准确率,本文将主要研究两个方面:一是基于U-Net的原始模型结构进行改进,引入卷积注意力机制模块(CBAM)和FocalTversky损失函数;二是引入深监督方法(DEEP SUPERVISION)及多尺._u-net注意力机制

学习SqlSugar的基本用法(增删改查)-程序员宅基地

文章浏览阅读2.4k次。学习并测试SqlSugar中最基本的增删改查函数的用法,_sqlsugar

VMware下安装Ubuntu过程与可能遇到的问题_用vm安装ubuntu一安装就关机-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏6次。虚拟机安装ubuntu详细教程·_用vm安装ubuntu一安装就关机

OCP12C题库,62数据库备份与恢复(admin,install and upgrade accelerated, backup and recovery workshop -62)(新增)_lgwr might write redo generated by the insert stat-程序员宅基地

文章浏览阅读1.2k次。01 which two statements are ture about using SQLLoader?关于使用SQLLoader,哪两条语句是正确的A、it can generate unique sequential key values in sppecified columns它可以在指定的列中生成惟一的顺序键值 E、it can load data into multiple tables using thesame load statement 它可以使用相同的load语句将数据._lgwr might write redo generated by the insert statement to the redo log befo

代码已提交 但未push前如何撤回_git 取消未push到远程仓库的代码-程序员宅基地

文章浏览阅读610次,点赞8次,收藏11次。已经在 Git 中提交,但还没有将这些提交推送(push)到远程仓库,可以使用 git reset 命令来撤销最近的提交。这个命令将会撤销最后一次提交,但会保留暂存区和工作区的更改,使得你可以重新提交这些更改或者修改后再提交。_git 取消未push到远程仓库的代码

随便推点

Python - 匿名函数 Lambda_pyqt 匿名函数-程序员宅基地

文章浏览阅读2.1k次。实例解析:lambda后冒号前直接作为函数的参数,冒号后作为函数的return值带出;由filter可以联想到sqlalchemy的条件查询:【Sqlalchemy - 数据查询(无条件查询+条件查询)】由sqlalchemy的条件查询可以联想到表格的创建:【Sqlalchemy - 数据库的连接与表格的创建】..._pyqt 匿名函数

小红书——薯券使用_薯券怎么使用-程序员宅基地

文章浏览阅读995次。问题描述:某小红薯在小红书的活动中抽奖中了一定价值的薯券,这些薯券可以用来购买一批商品,求有多少种购买组合。其中一件商品可以买多件。输 入:薯券金额、商品分别价格输出 :组合数输入描述:输入薯券金额、商品分别价格例如:10 [2,3,5]10与[2,3,5]中间有空格输出描述:输出4,则结果集可以为:2,2,2,2,2;5,5;2,3,5;2,2,3,3共有4种组合 输入例子1:10 [2,3,5]输出例子1:4代码:public static void main(_薯券怎么使用

java 日期是否相等_Java日历问题:为什么这两个日期不相等?-程序员宅基地

文章浏览阅读203次。import java.io.*;public class testing {public static void main(String a[]) throws Exception{Date d1=new Date();Thread.sleep(2000);Date d2=new Date();if(d1.equals(d2)){System.out.println("Both equal");..._同样的日期 calendar类型和date类型不相等

panabit安装和默认密码_panabit ssh密码-程序员宅基地

文章浏览阅读8.8k次。panabit安装和默认密码我使用的版本1、在VMware里新建一个虚拟机2、选择 free BFD3、给虚拟机命名5、给虚拟机配置如下6、下面的地址按照自己的ip来设置7、登录界面啊啊在这里卡了好久,看肖哥视频说登录账号和密码是 root 和 root ,一直以为是我操作有问题,重新进了n遍。后面跑论坛才搜索到,帖子地址:http://forum.panabit.com/thread-22321-2-1.htmlpanabit或 free bfd 登录密码login_panabit ssh密码

计算机毕业设计 jsp毕业生管理系统ssh 毕设-程序员宅基地

文章浏览阅读186次,点赞7次,收藏5次。E-R模型法的构成元素有:实体、属性、联系,E-R模型可以用E-R图来表示,是对用户工作环境中所相关的事物给予提示,对实体特性的描述就是属性。数据库概念模型是为了将现实世界中信息进行抽象而设计的,从而实现信息世界的建模,因此,概念模型是进行数据库设计的重要工具。在概念模式的设计中,E-R模型法是最常见的设计方法。设计概念就是在数据分析的基础上自下而上的对整个系统的数据库概念结构进行设计。数据库的设计一般要可以分为个步骤:分别是分析需求、设计概念、设计逻辑、设计物理。图3-1系统功能模块图。

Java基础-面向对象_面向对象 java-程序员宅基地

文章浏览阅读158次。类(Class)和对象(Object)是面向对象的核心概念。类是对一类事物的描述,是抽象的、概念上的定义对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。可以理解为:类 = 抽象概念的人;对象 = 实实在在的某个人面向对象程序设计的重点是类的设计类的设计,其实就是类的成员的设计。_面向对象 java