Python实现中文词云(wordcloud),根据背景图片生成词云

Python wordcloud自定义背景图片方法及mask无效的解决方案 准备 导入必要的库 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator 生成mask/mask transform 总的来说:就是通过导入自己相要的图片作为mask遮罩 mask遮罩其实是一个代表形状的二维数组,所以我们要通过np.array()将图片转化为二维数组。 有些朋友会发现即使np.array()后mask依旧未生效,因为mask的格式不同结果往往不太一样,这时候需要transform一下(如果我们看下生成的矩阵,矩阵的 阅读详情

Python实现词云的库有很多,较为常见的就是wordcloud
这个库基于PIL,PIL是必不可少的,需要用的还有matplotlib和numpy

本文使用解释器为python2.7.13 32位

安装

pip install wordcloud

使用

针对库示例做了一个简单修改,直接使用generate_from_frequencies方法,而没有使用generate()方法。有这样几个原因,generate_from_frequencies是基础的方法,generate()仍然还是要调用generate_from_frequencies方法;实验比较直接。

库的使用方法很简单,但是中文使用的话会有几个问题,一个是字符编码问题,二是字体问题,默认的字体不支持中文,因此需要加入font_path = "simfang.ttf"指定字体,这是把字体指定为同一个文件夹下的simfang.ttf。

这里写图片描述

#encoding=utf-8
from os import path
from wordcloud import WordCloud
import sys
reload(sys)
sys.setdefaultencoding('utf-8')


fre={"哈哈".decode('utf-8'): 1.2,"呵呵".decode('utf-8'):6}
wordcloud = WordCloud(font_path = "simfang.ttf").generate_from_frequencies(fre)

import matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

后续的工作还可以将引入分词工具直接进行分词。

结合我前面的做的例子
先抽取网页的文本,然后再进行分词,将分词结果根据频率作为字典传给generate_from_frequencies,生成词云。
更简单,比如直接抽取文章的关键词,比如博客每篇文章就有关键词,用Counter库,直接生成频率调用。

使用背景图片生成词云

这里写图片描述
这里写图片描述
对上面的代码做了一点简单的改动

#encoding=utf-8

from os import path
from wordcloud import WordCloud
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

d = path.dirname(__file__)
text = open(path.join(d, 'constitution.txt')).read().decode('utf-8')

import numpy as np
from PIL import Image
football = np.array(Image.open(path.join(d, "timg.jpg")))

fre={"哈哈".decode('utf-8'): 1.2,"呵呵".decode('utf-8'):6,"咯咯".decode('utf-8'):6,
"呵呵".decode('utf-8'):6,"咯咯".decode('utf-8'):6,
"啦啦".decode('utf-8'):1,"哦哦".decode('utf-8'):6,
"恩恩".decode('utf-8'):3,"呃呃".decode('utf-8'):6,
"饿饿".decode('utf-8'):3,"嗯嗯".decode('utf-8'):6,
"哼哼".decode('utf-8'):5,"丽丽".decode('utf-8'):6,
"咔咔".decode('utf-8'):7,"咳咳".decode('utf-8'):6,
"乐乐".decode('utf-8'):6,"呐呐".decode('utf-8'):6,
"嘎嘎".decode('utf-8'):6,"嘻嘻".decode('utf-8'):6}
#wordcloud = WordCloud(font_path = "simfang.ttf").generate(text)
wordcloud = WordCloud(font_path = "simfang.ttf",mask=football).generate_from_frequencies(fre)

import matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
python生成词云--完整代码示例 工作之余,写个python生成词云来玩玩~~~ 运行环境:pycharm,需要引入wordcloud包,中文分词需要用到jieba 随便找了一篇介绍“故宫的文章”,以该文章为例生成词云。 from wordcloud import WordCloud import matplotlib.pyplot as plt #绘制图像的模块 import jieba ... 阅读详情

相关推荐

python词云制作(最全最详细的教程)

今天手把手教大家用python制作词云 首先呢,需要准备的操作是: 1、安装好python3系列版本 2、安装python第三方库wordcloud;(安装教程以及可能会遇到的各种错误,我整理了一篇文章)

李桥桉的博客 15万+

Python3,我只用一段代码,就写了个词云生成器,功能强大到怀疑人生。

词云生成器,确实丰富了我的词汇量。

商务合作 | 面试培训 | 职场规划 ==>主页扫码 9604

python中文词云生成

一、词云 “词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。 二、python实现中文词云显示 1、需要准备的python库包括,matplotlib,jieba和wordcloud,可以通过pip install ---进行安装。 2、代码实现 #

今春一别难相逢 1万+

使用python开发的词云图生成器1.0

使用python开发的词云图生成器1.0

summerriver1的博客 1823

【Python】Windows下用Jieba分词和WordCloud库生成中文词云

一、打开Anaconda Prompt,用activate命令激活环境 本人所用环境如下: 二、从清华镜像下载所需库: jieba分词库 wordcloud绘制词云库 numpy常用于处理数组 PIL为图像处理标准库 pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple pip install wordclu...

夏至是个程序媛 4317

Python wordcloud之中文词云

词云算是社交数据分析必不可少的一项技能了吧。下面就从安装到生成词云整个过程详细做个介绍。

qq_29003925的博客 4421

python词云 wordcloud+jieba生成中文词云图

简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程。本文需要的两个核心Python类库: jieba:中文分词工具 wordcloud:Python下的词云生成工具  准备  anaconda:一个开源的Python发行版本,用于管理Python版本,可以实现管理不同的Python版本...

风落云起的博客 1万+

Python实现词云生成器

根据输入的文本数据,WordCloud库将根据词频生成相应的词云图像,并可以保存为文件。希望本文能帮助你实现自己的词云生成器!在编写代码之前,我们需要导入所需的库,包括WordCloud、matplotlib和PIL库。WordCloud用于生成词云图像,matplotlib用于绘制图像,PIL用于保存图像文件。调用matplotlib库中的imshow()函数和axis()函数,将词云图像显示出来,并设置相应的参数。使用WordCloud类创建一个词云对象,并设置相应的参数,如背景色、字体、尺寸等。

ByteJolt的博客 391

Python词云wordcloud——根据词语生成图像

wordcloud作者github应用实例: https://github.com/amueller/word_cloud/blob/master/examples/masked.py 官网:https://amueller.github.io/word_cloud/generated/wordcloud.WordCloud.html 内容包括:生成中文词云、英文词云、根据单词出现频率生成词云 ...

violette_lx的博客 4619

【小白必看】Python词云生成器详细解析及代码实现

本文详细介绍了使用Python实现词云生成器的步骤和代码。首先,我们导入所需的库,包括numpy、wordcloud、PIL、matplotlib.pyplot和openpyxl等。然后,我们将存储好的Excel词频表读取成字典,并定义词云的样式和背景图。接着,我们循环处理每个词频Excel文件,将单词和频率存储到字典中。最后,我们使用生成的字典生成词云图,并将其保存到指定文件夹中。该词云生成器可以根据不同的词频数据生成漂亮的词云图,可用于文本分析和数据可视化等领域。详细的代码实现和示例图片在文章中都有展示

全栈若城,专注知识分享 2974

Wordcloud中英文词云生成器WCM_V2.0升级版

词云生成器,支持中英文,注意:输出时要写图片文件的拓展名 版本更新:新加菜单, 新功能:按词频和词阶排序, 新链接:网上词云制作链接。 可在软件中发邮件联系作者。

Python + wordcloud + jieba 十分钟学会生成中文词云

代码部分来源于其他人的博客,但是因为bug或者运行效率的原因,我对代码进行了较大的改变代码第一部分,设置代码运行需要的大部分参数,你可以方便的直接使用该代码而不需要进行过多的修改第二部分为jieba的一些设置,当然你也可以利用isCN参数取消中文分词第三部分,wordcloud的设置,包括图片展示与保存如果你想用该代码生成英文词云,那么你需要将isCN参数设置为0,并且提供英文的停用词表,但是我更推荐你使用Python词云 worldcloud 十五分钟入门与进阶。

FontTian的博客 5万+

Python基于WordCloud制作词云图

主要介绍了python基于WordCloud制作词云图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python wordcloud生成词云

1、安装 使用wordcloud生成词云,如果是中文文本,需要手动安装三个第三方库,分别为wordcloud、jieba、scipy。jieba库用来对中文进行分词处理,scipy库用来生成词云图片。如果对这两个库不熟悉也没关系,直接按照代码,安装之后import使用即可。 windows下分别在命令行输入以下命令进行安装: pip install wordcloud pip instal...

showgea的博客 6950

Python 绘制词云图:更改或自定义背景颜色,图片轮廓,图片大小等,根据词频生成(放入自写库,一行代码快速实现复杂绘图)

文章目录引言使用效果代码呈现延伸阅读后记 引言 词云的作用已不必多说,也有许多不同版本生成词云的方法,但有时候调整图片细节能把人给调得脚趾头不自觉的瞉起。所以为何不直接将其封装进一个函数中,将各种绘制参数都事先准备好,尽可能一了百了呢?说干就干,看看下面的效果图就知道了。PS:Jupyter notebook 实现 使用效果 使用前的注意事项:被读取的文本文件和希望自定义的图片轮廓需要与你的 py 文件放在同一个文件夹。 另外,图片还得经过特殊处理一下,可以请身边ps老鸟帮忙或自己稍微学一下又或者借助图片处理软件 背景雪白 如果希望是人物轮廓型,既能够看得出镂空的边的,还得更细致的处理一下

STM32F407+LAN8720A+LwIP实战:FreeModbus TCP从机功能开发指南

本文详细介绍了基于STM32F407和LAN8720A硬件平台,结合LwIP协议栈实现FreeModbus TCP从机功能的开发指南。内容涵盖硬件连接、LwIP移植、FreeModbus TCP从机实现、任务调度及调试技巧,为工业控制领域的以太网通信开发提供实用参考。

weixin_29190651的博客 546

Python词云 wordcloud 十五分钟入门与进阶

基于Python的词云生成类库,很好用,而且功能强大.博主个人比较推荐写这篇文章花费一个半小时,阅读需要十五分钟,读完本篇文章后您将能上手wordcloud中文词云与其他要点,我将会在下一篇文章中介绍这段代码主要来自wordcloud的github,你可以在github下载该例子""""""Parameters----------"""Parameters----------"""try:"""# 自定义所有单词的颜色。

FontTian的博客 9万+

微积分,用编程理解高数(python,C,C++)

很好理解,导数中,x是哪一点的导数,dx是精准度,y等于f(x)即函数。导数结果就是瞬时变化率。积分很好理解,a为下限,b为上限,y为函数,结果就是y=f(x)下a到b的面积。只要用定积分代入a=0,b=10(10s)y=x(1*x=1)就得到结果。F(x)为原函数,即微分后的函数是f(x)dx,微分前是F(x)一列车初始速度为10m/s,加速度为。才几十行代码,微积分也不是很难啊。,问速度达到20时车走了多少米。

linhhanpy的博客 1178

Python生成词云图

(一)下载第三方模块 1.wordcloud:它把我们带权重的关键词渲染成词云。 2.jieba:是一个分词模块,因为我是从一个txt文本里提取关键词,所以需要 jieba 来分词并统计词频。如果是已经有了现成的数据,不再需要它。 pip install wordcloud pip install jieba 3.如果pip install wordcloud按装失败!请

凯耐的博客 5万+

你不必懂AI,但必须会用AI:写给所有焦虑中的职场人

AI时代不必焦虑学技术,关键在于用AI解决实际问题。文章指出,99%的人只需成为AI使用者而非建造者,核心竞争力在于结合业务痛点运用AI工具提升效率。与其盲目学习工具,不如梳理工作流程,识别可优化环节,让AI赋能重复性、标准化任务。行业经验与AI工具的结合才是真正的职场护城河。建议从具体工作场景出发,寻找匹配的AI解决方案,迈出应用第一步。

hundred98的博客 716

2023华为OD机试真题B卷 Python 实现【最长的元音子串长度】

定义当一个字符串只有元音字母(a,e,i,o,u,A,E,I,O,U)组成,称为元音字符串,现给定一个字符串,请找出其中最长的元音字符串,并返回其长度,如果找不到请返回0, 字符串中任意一个连续字符组成的子序列称为该字符串的子串

MISAYAONE的博客 900
上一篇: 《Modern Python Cookbook》(Python经典实例)笔记1.5 真除法和向下截断除法(floor除法)
下一篇: Python之time模块的时间戳、时间字符串格式化与转换(13位时间戳)
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值