python词云的简单使用

词云的生成

  • 所需库
  • 代码实现
    • wordclod参数说明
    • 具体实现
  • 效果展示

所需库

  • wordcloud, jieba, imageio
  • wordcloud 词云库,用来统计文本文档里面出现的高频词汇,或者句子,以图片可视化的方式显示出来
  • jieba库,分割中文的库,把较长的句子分割成有意义的词汇
  • imageio库, 读取图片,把词云图片以你对应的图片样式显示
  • 安装方式
pip install wordcloud, jieba, imageio

代码实现

wordclod参数说明

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 最大词数 默认200stop_words 不显示的单词 stop_words={"python","java"}Scale 默认值1。值越大,图像密度越大越清晰prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍mask 指定词云形状图片,默认为矩形注意增加参数contour_width和contour_color设置轮廓宽度和颜色 # 轮廓线通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)

具体实现

  • 这里拿来诗人舒婷的《致橡树》作为demo
  • https://zhidao.baidu.com/question/13111198
  • coding
import os
if not os.path.exists('E:\\python\\joy\\wordcloud'): # 创建文件夹os.mkdir('E:\\python\\joy\\wordcloud')os.chdir('E:\\python\\joy\\wordcloud')def jieba_deom3(shape, input_txt, output_img):import imageioimport jieba mk = imageio.imread(shape)# 五角星形状的词图w = wordcloud.WordCloud(mask=mk)# 词图对象w = wordcloud.WordCloud(width=100, height=100,scale=15, background_color='white',font_path='msyh.ttc', # 针对中文,微软雅黑mask=mk # imageio读取的形状)# 用jieba分割词txt = ''with open(input_txt, encoding='utf-8') as f:txt += f.read()text_list = jieba.lcut(txt)# 把分割好的词组列表转换为有空格的字符串string = " ".join(text_list)w.generate(string)w.to_file(output_img)passjieba_deom3('wjx1.png', 'zxs.txt', 'zxs.png')
# 注意这个形状的图片,一定要对,不然报错,或者是个正方形
  • 送上小星星

效果展示

  • 写在最后

诗人也不愿要奉献施舍的爱情,不愿作整日为绿阴鸣唱的小鸟,不愿作一厢情愿的泉源,不愿作盲目支撑橡树的高大山峰。诗人不愿在这样的爱情中迷失自己。爱情需要以人格平等、个性独立、互相尊重倾慕、彼此情投意合为基础。

最后,关注,点赞,收藏😄😀

学习地址:
https://github.com/TommyZihao/zihaowordcloud

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(一)Neo4j在Centos7虚拟机上的安装

1、什么是图数据库? 图数据库是基于数学里图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统。图形数据库善于高效处理大量的、复杂的、互连的、多变的数据。其计算效率远远高于传统的关系型数据库。图形数据库在社交网络、实时推荐、征信系统、人工智…

代码演示 .NET 4.5 自带的 ReadonlyCollection 的使用

代码如下: 1. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConfigurationLibrary {public class ConfigElement{public int Id { get; set; }public string Value { get; set…

(二)Cypher语言常用方法举例

1、概述 “Cypher”是一个描述性的类Sql的图操作语言。相当于关系数据库的Sql,可见其重要性!其语法针对图的特点而设计,非常方便和灵活。没有Join,是一大特点!学好Cypher是学好Neo4j的关键,也是核心所在&a…

Java高新技术 枚举

Java高新技术 枚举 知识概要: (1)为什么要有枚举 (2)枚举的示例 (3)枚举的应用 (4)枚举的高级应用 (1)为什么需要枚举 问题:要定义星期几或性别的变量,该怎么定义? 假设用1-7分别表示星期一到星期日&am…

github 人像卡通化探索项目

把项目下载到本地 下载地址 https://github.com/minivision-ai/photo2cartoon安装依赖库 python 3.7 # 3.x版本都可 pytorch 1.4 tensorflow-gpu 1.14 # tesorflow 得是1.0版本,2.0版本语法部分改变,不然项目运行会出错 face-alignment dlibpytorch …

浅谈城市规划在移动GIS方面的应用发展

1、概述 城市建设进程加快,城市规划管理工作日趋繁重,各种来源的数据产生各种层出不穷的问题,严重影响城市规划时的准确性,为此全面合理的掌握好各方面的城市规划资料才能做出更加科学的决策。移动端的兴起为规划动态方面提供了极…

(四)Neo4j删除数据需要注意的问题

1、先删关系,再删节点 # 删除所有记录 MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r 2、彻底删除节点标签名,需要删除前期对该标签名建立的索引 # 查看全部索引 :schema# 删除索引 drop index on :Person(id)# 当索引删除不掉时,可能是…

jsp阶段总结

目录web开发jsp是运行在服务器端还是客户端? 服务端 js是运行在服务器端还是客户端? 客户端 jsp的本质是什么? jsp原理 jsp的本质就是servlet jsp在服务器中,当浏览器请求该jsp时,jsp文件在服务器中会经历什么过程? 转译:将jsp文件转译成java文件 编译:将转译后的java文…

CVE-2013-3897漏洞成因与利用分析

CVE-2013-3897漏洞成因与利用分析 1. 简介 此漏洞是UAF(Use After Free)类漏洞,即引用了已经释放的内存。攻击者可以利用此类漏洞实现远程代码执行。UAF漏洞的根源源于对对象引用计数的处理不当,比如在编写程序时忘记AddRef或者多…

(三)Neo4j自带northwind案例--Cypher语言应用

0、概述 通过该案例,应用Cypher查询语言,感受Neo4j套路。官方的用此案例的用意: The Northwind Graph demonstrates how to migrate(迁移) from a relational database to Neo4j(把一个负责的多表关系数据…

servlet 源码分析

servlet源码分析1. servlet接口1.1 看servlet源码1.2 直接用类实现servlet接口,来写servlet类2. servlet子类GenericServlet2.1 servlet子类实现GenericServlet抽象类2.2 继承GenericServelt抽象类3. httpServelt类分析4. 这么多搬来的代码,最后总结1. s…

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。该框架以SOA范式作为指导思想,作为异质系统整合与互操…

(五)官方Neo4j 3.3.9 Java API例子

0、概述 本文以Neo4j 3.3.9为基础,采用https://neo4j.com/docs/api/java-driver/current/给出的官方例子。下面大概记录下工程建立的过程,因为版本差异代码和官方给出的稍有差别。 1、使用eclipse,用自己安装的mvn新建一个mvn工程&#xff…

(六)Neo4j综合项目

0、概述 本文以热播电视剧《人民的名义》中的人物关系为数据基础,抛开案例本身的内容,本项目的意义在于指出使用Neo4j数据库的一般流程是什么?包括数据的导入、操作、查询、展示,从而体会出与传统数据库相比Neo4j在处理图数据的巨…

过滤器filter,监听器listener

目录1. filter过滤器1.1 原理1.2 配置1.3 过滤掉脏话demo2. listener监听器2.1 作用2.2 ServletContextListener demo1. filter过滤器 作用:过滤servlet,jsp,js,css,图片对象,以及一切在服务器,客户端想访…

LevelDB 之 arena

粒度比较大,实现简洁清晰明了。对比nginx的,nginx从小到大各种尺寸都有,适用性更好一些。相对要精细很多。Arena.h//z 2014-06-05 10:48:50 L.20947470 BG57IV3 T1840949363.K.F1370514324[T6,L108,R4,V118]// Copyright (c) 2011 The LevelD…

(一)elasticsearch6.1.1安装详细过程

1、配置java环境 检查java环境 满足elasticsearch6.1.1java环境要求; 2、安装ElasticSearch6.1.1 ①为es新生成用户、用户组 su root groupadd esgroup useradd ela -g esgroup -p 5tgbhu8[rootlocalhost fibonacci]# su ela Attempting to create directory /h…

使用jdk DOM,SAX和第三方jar包DOM4J创建,解析xml文件

xml的创建,解析1. 什么是xml文件1.1 什么是xml文件1.2 解析xml的方式,优缺点2. 使用dom操作xml文件2.1 使用dom创建xml文件2.2 使用dom解析xml文件2.3 使用dom对xml文件增删改3. 使用SAX解析xml文件4. 使用DOM4J操作xml文件4.1 使用DOM4J创建xml文件4.2 …

c# 错误 两个输出文件名解析为同一个输出路径

检查同项目的其他文件夹下面已有其他同名窗体,影响设计器 转载于:https://www.cnblogs.com/xiaxiaolu/p/4367166.html

(二)ElasticSearch6.1.1 Python API

0、准备开启数据库 ① 关闭Linux防火墙,这个很重要,否则API总是报错连不上。 # 查看防火墙状态 firewall-cmd --state# 关闭防护墙 systemctl stop firewalld.service# 开启防火墙 systemctl start firewalld.service# 重启防火墙 systemctl restart f…