通过Python的wordcloud库将单词生成词云(心形形状)

news2024/11/27 12:55:02

文章目录

  • 前言
  • 一、wordcloud库是什么?
  • 二、安装wordcloud库
  • 三、查看wordcloud库版本
  • 四、使用方法
    • 1.引入库
    • 2.定义图片路径
    • 3.定义需要分词的文本
    • 4.采用jieba搜索引擎模式分词
    • 5.加载心形图片
    • 6.创建词云对象
    • 7.生成词云
    • 8.保存词云图
    • 9.词云图效果
  • 总结

前言

大家好,我是空空star,本篇给大家分享一下通过Python的wordcloud库将单词生成词云(心形形状)

一、wordcloud库是什么?

Python的wordcloud库是一个用于生成词云的Python包。它可以将一段文本中出现频率高的单词按其出现频率大小以及颜色深浅排列成一个词云图形,从而更好地展示文本中的信息。
使用wordcloud库,你可以指定词云的形状、颜色、字体等参数,以及控制词云中单词的排列方式、大小等属性。你可以使用wordcloud库来生成各种类型的词云,例如词频统计、情感分析等。

二、安装wordcloud库

pip install wordcloud

三、查看wordcloud库版本

 pip show wordcloud

Name: wordcloud
Version: 1.8.2.2
Summary: A little word cloud generator
Home-page: https://github.com/amueller/word_cloud
Author: Andreas Mueller
Author-email: t3kcit+wordcloud@gmail.com
License: MIT
Requires: matplotlib, numpy, pillow
Required-by:

四、使用方法

1.引入库

import jieba
import numpy as np
from PIL import Image
from wordcloud import WordCloud

2.定义图片路径

local = '/Users/kkstar/Downloads/video/pic/'

3.定义需要分词的文本

text = "大家好我是空空star我爱发动态我喜欢使用搜索引擎模式进行分词"

4.采用jieba搜索引擎模式分词

cut_text = " ".join(jieba.cut_for_search(text))

5.加载心形图片

mask = np.array(Image.open(local+"heart.png"))

6.创建词云对象

wc = WordCloud(font_path="STHeitiMedium.ttc",  # 设置字体
               background_color='white',  # 设置背景颜色
               mask=mask,  # 设置背景图片
               max_words=2000,  # 设置最大显示的词数
               max_font_size=100,  # 设置字体最大值
               width=500,  # 设置画布的宽度
               height=500,  # 设置画布的高度
               )

7.生成词云

wc.generate(cut_text)

8.保存词云图

wc.to_file(local+"wordcloud.png")

9.词云图效果

总结

要设置WordCloud的心形形状,需要使用mask参数来指定心形图片的路径,使用Python的Pillow库加载心形图片,并将其传递给WordCloud对象。

jieba库和pillow库介绍:
通过Python的jieba库对文本进行分词
通过Python的PIL库给图片添加文本水印

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

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

相关文章

第十五章 使用iSCSI服务部署网络存储

文章目录 第十五章 使用iSCSI服务部署网络存储一、iSCSI技术介绍1、硬盘接口类型 二、创建RAID磁盘阵列1、添加四块硬盘2、创建RAID磁盘阵列 三、配置iSCSI服务端1、iSCSI服务的和客户端的操作系统以及IP地址2、安装targetcli3、配置服务端共享资源4、创建iSCSI target名称及配…

B.Conveyor Belts

Codeforces Round 863 (Div. 3) 题目链接 题目大意: 有个矩阵传送带,从其中一个传送带跳到邻近的传送带需要消费一点能量。问从 x 1 , y 1 x_1,y_1 x1​,y1​到 x 2 , y 2 x_2,y_2 x2​,y2​最少要多少能量 个人题解: 我只需要算出该点在哪个…

强化学习笔记-05 蒙特卡罗方法Monte Carlo Method

本文是博主对《Reinforcement Learning- An introduction》的阅读笔记,不涉及内容的翻译,主要为个人的理解和思考。 上一节介绍了通过动态规划法来解决强化Markov decision process MDP环境下的学习问题, 动态规划法假设环境是完全可知&#…

APP测试常见功能测试点汇总,赶紧来记笔记

目录 1、安装和卸载 2、运行 3、注册和登录 4、日历控件 5、权限设置 6、软件更新  7、网络环境 8、兼容性测试:   9、异常测试   1、安装和卸载 安装和卸载是任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要的BUG。因此APP…

三十六、链路追踪、配置中心

1、链路追踪 在一次调用链路中,可能设计到多个微服务,如果在线上,某个微服务出现故障,如何快速定位故障所在额微服务呢。 可以使用链路追踪技术 1.1链路追踪介绍 在大型系统的微服务化构建中,一个系统被拆分成了许多微…

Ambari-2.7.7源码编译

0 说明 本文基于Ambari-2.7.7版本进行源码编译。所需的编译资料统一提供如下: 链接:https://pan.baidu.com/s/1F2D7zBGfKihxTBArnOilTw 提取码:8m17 1 前提条件 1.1 下载ambari源码包 wget https://github.com/apache/ambari/releases/t…

【代码调试】《Multi-scale Positive Sample Refinement for Few-shot Object Detection》

论文地址:https://arxiv.org/abs/2007.09384#:~:textMulti-Scale%20Positive%20Sample%20Refinement%20for%20Few-Shot%20Object%20Detection.,previous%20attempts%20that%20exploit%20few-shot%20classification%20techniques%20 代码地址:https://git…

什么是低代码开发?低代码开发可以解决哪些问题?

一、什么是低代码开发? 低代码可以理解为是一种全新的应用开发理念。主要以可视化、参数化的系统配置方式来进行程序应用的开发,因此可以大幅度减少代码编写的工作,从而提高开发效率。 低代码平台则是通过对于业务场景进行高度抽象、提炼&a…

复习之Linux中的名词解释

1.什么是Linux? 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。因此LinuxLinux内核GNU软件 2.什么是Shell? Shell是系统的用户界面&…

Redis学习---01(Redis安装超详细)

一、Nosql非关系型数据库 (1)小tips: 数据库的发展: 单机时代memcached 缓存Mysql读写分离(一部分数据库只写,一些数据库只用来读)分库分表 水平拆分Mysql集群 (2) Nosql的特点: 对于数据量大,变化比较…

如何安装Tomcat并在IDEA中配置

下载 1.如果你使用的是Spring框架的6版本请下载Tomcat10版本 Apache Tomcat - Apache Tomcat 10 Software Downloads 2.如果你使用的是Spring框架的6以下请下载Tomcat9版本或以下都行,如果不知道你使用的是什么推荐下载Tomcat9版本使用 Apache Tomcat - Apache …

第三方直播云平台(保利威和阿里云)直播集成demo

第三方直播云平台&#xff08;保利威和阿里云&#xff09;直播集成文档整理。 保利威&#xff1a; 保利威帮助中心 js demo <div id"player"></div> <script src"//player.polyv.net/resp/live-h5-player/latest/liveplayer.min.js">…

通俗易懂的入门正则表达式

背景 其实在使用正则表达式之前&#xff0c;我们在查找文件之类的&#xff0c;已经用过类似正则表达式的符号&#xff0c;例如&#xff1a; // 匹配多个任意字符 ls *.js // 只匹配一个任意字符 ls ?.js这种方法很有用但也是有限的&#xff0c;而正则表达式则更加的完整、强…

Linux - 第14节 - 网络编程套接字(三)

1.Linux远程控制的网络程序 1.1.Linux远程控制的网络程序&#xff08;普通版&#xff09; 创建serverTcp.cc文件&#xff0c;写入下图一所示的代码&#xff0c;创建clientTcp.cc文件&#xff0c;写入下图二所示的代码&#xff0c;创建log.hpp文件&#xff0c;写入下图三所示的…

Dart整理笔记 | Dart参考手册

Dart SDK 安装 如果是使用Flutter 开发&#xff0c;Flutter SDK自带&#xff0c;无需单独安装Dart SDK。 如果需要独立调试运行Dart代码&#xff0c;需要独立安装Dart SDK。 官方文档&#xff1a;https://dart.dev/get-dart windows(推荐): http://www.gekorm.com/dart-wind…

秒级数据写入,毫秒查询响应,天眼查基于 Apache Doris 构建统一实时数仓

导读&#xff1a; 随着天眼查近年来对产品的持续深耕和迭代&#xff0c;用户数量也在不断攀升&#xff0c;业务的突破更加依赖于数据赋能&#xff0c;精细化的用户/客户运营也成为提升体验、促进消费的重要动力。在这样的背景下正式引入 Apache Doris 对数仓架构进行升级改造&a…

浅聊一下Linuxptp

浅聊一下Linuxptp 文章目录 浅聊一下Linuxptp1.什么是Linuxptp2.安装Linuxptp3.源码解析一下1.8个带main函数的源文件1.hwstamp_ctl.c2.nsm.c3.phc2sys.84.phc_ctl.85.pmc.86.ptp4l.c7.timemaster.c8.ts2phc.c 2.clock.c文件 4.自己实践 1.什么是Linuxptp LinuxPTP&#xff08…

HIS系统是什么意思?HIS系统的主要功能有哪些?

HIS系统是什么意思&#xff1f; HIS系统即医院信息系统(全称为Hospital information System) &#xff0c;是指利用计算机软硬件技术和网络通信技术等现代化手段&#xff0c;对医院及其所属各部门的人流、物流、财流进行综合管理&#xff0c;对在医疗活动各阶段产生的数据进行采…

构造函数(包括默认构造函数) ,析构函数的使用与特性

文章目录 一、构造函数二、默认构造函数&#xff08;也是构造函数&#xff09;默认构造函数的种类&#xff1a;1.无参类型2.全缺省类型3.编译器自动生成的4.汇总 三、析构函数 一、构造函数 构造函数是一个特殊的成员函数&#xff0c;名字与类名相同,创建类类型对象时由编译器自…

opencv_c++学习(七)

一、图像颜色空间变换 一、图像颜色空间介绍 RGB颜色模型 具体的体现样式如下&#xff1a; 在opencv中有可以实现数据类型的转换接口&#xff0c;如下&#xff1a; Mat:convertTo (OutputArray m, int rtype, alpha, double 1, double beta)实现如下&#xff1a; a.conve…