词云生成器——Mind+Python模式

2021-03-312.2万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用Mind+的Python模式创建一个词云生成器。首先创建一个Python项目,并加载所需的五个库文件。然后准备词和云,将它们放入项目的文件夹中。通过调整程序中的参数,如图案形状、文本和成品图,可以生成个性化的词云。此外,还可以通过修改字体路径来更换词云的字体样式。
词云是什么?它就是一个词云
词云生成器——Mind+Python模式图1

词云是用词来填充一张图片来表达作者的想法

如上图,表达了作者,也就是我,对螺蛳粉的强烈喜爱

那词云怎么做呢?

百度了一下,有些网站做词云要收费、带水印、或操作比较麻烦,

于是我试着用Mind+的Python模式来做了一个词云生成器.

【第一步】:创建一个Python项目
1.1打开Mind+(1.7.0RC2.0版本),选择Python模式。

词云生成器——Mind+Python模式图2

1.2建立一个Python项目,并以“.py”结尾。

词云生成器——Mind+Python模式图3

1.3和Python的世界打个招呼。

词云生成器——Mind+Python模式图4
【第二步】:加载库文件

选择创作词云所需要的五个库文件,操作如下图所示:

每个库文件的简介在软件里都写的有,但具体理解它的功能和用法,还需要一些项目实操练习才可理解。

词云生成器——Mind+Python模式图5

词云生成器——Mind+Python模式图6

词云生成器——Mind+Python模式图7

词云生成器——Mind+Python模式图8

词云生成器——Mind+Python模式图9

【第三步】:建立好“词”和“云”

3.1准备好词云所需要的“词”和“云”

“云”也就是图片,我们找到一张轮廓清晰的“.jpg”格式的图片。

然后在桌面建立一个“.txt”格式的文档,将各种词或者语句放入文本中。

词云中显示的“词”就是从该文本中提取的。

参考如下:
词云生成器——Mind+Python模式图11

词云生成器——Mind+Python模式图12

3.2将准备好的“词”和“云”放入Python项目的文件夹中.

操作如下图所示:

词云生成器——Mind+Python模式图13

词云生成器——Mind+Python模式图14

到这一步,其实,你就可以直接打开我的程序用起来了。

词云生成器——Mind+Python模式图19

打开后,双击词云对应的“.py”文件,

就会看到如下程序

词云生成器——Mind+Python模式图10

【参数调整说明】

1、程序中“图案形状”对应的就是原始的图片名称;

2、“文本”对应的就是前面建立的“txt”文件名称;

3、“成品图”对应的就是输出的图片的名称。

词云生成器——Mind+Python模式图17
词云生成器——Mind+Python模式图18

4、如果想要调整词云上显示的字体,

找到设置字体的程序(第五行):

font_path="C:\Windows\Fonts\HGXK_CNKI.TTF",max_words=200

HGXK_CNKI.TTF”则是不同字体的名称,

所以只需要修改这个名称即可。

接下来可按照如下操作找到名称:

    4.1任意打开一个文件夹,按照下图所示输入:“Windows\Fonts”

词云生成器——Mind+Python模式图20

    4.2找到自己想要的字体,鼠标右键点击查看属性

词云生成器——Mind+Python模式图15

    4.3复制对应的名称,粘贴到程序中就好啦。

词云生成器——Mind+Python模式图16

以上就是在不需要仔细研究程序的基础上,修改一下参数即可实现创作词云的效果。

对于爱学习的小朋友们来说,我们就来了解下各程序的含义:

import wordcloud #调用词云库
import jieba #调用结巴库(能够将句子分成一个一个的词)
import numpy as np#调用numpy库,并命名为np
from PIL import Image#从PIL库中调用Image功能

w=wordcloud.WordCloud(width=1000,height=700,background_color="white",font_path="C:\Windows\Fonts\HGXK_CNKI.TTF",max_words=200)
#设置词云的尺寸(背景颜色白色,字体设置'在字体目录文件中找到字体名称',最多显示200个词)

maskpic = np.array(Image.open("图案形状.jpg"))
#选择词云的图片,“np.array”将图片转换成数组,在程序中命名为“maskpic”
w.mask=maskpic
#设置词云的图片为“maskpic”。“w.”是“wordcloud.”的缩写,代表词云库的内置功能调用。
w.color_func=wordcloud.ImageColorGenerator(maskpic)
#重置词云图片“maskpic”的颜色

f=open("文本.txt",encoding="utf-8")
#将读取的词云文本,在程序中命名为“f”,“utf-8”是解码文档用。
txt=f.read()#“txt”储存读取的文本
a=jieba.lcut(txt)#用jieba的精准分词模式将文本分开成词语,并储存在“a”中
b=" ".join(a)#拼接分开好的文本“a”,储存在“b”中

w.generate(b)#将文本“b”进行拼接
w.to_file("成品图.png")  #导出图片文件




END

词云图.zip

36.19 KB, 下载次数: 11653

附件

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(8)
少东
少东
作者
加深了一遍印象
mp5oYCbqOiRq
mp5oYCbqOiRq
啊啊啊!抄了半小时才发现可以复制!
小青Andy
小青Andy
字体报错,换过字体 更新过pip pillow包,都不行 raise ValueError("Only supported for TrueType fonts")
ValueError: Only supported for TrueType fonts
Forgotten
Forgotten回复小青Andy
提示“[backcolor=rgb(250, 250, 250)][font=微软雅黑]raise ValueError("Only supported for TrueType fonts") [/font][/backcolor][backcolor=rgb(250, 250, 250)][font=微软雅黑]ValueError: Only supported for TrueType fonts”是因为[/font][/backcolor]wordcloud这个库新版本的问题,卸载掉已经安装的库,然后指定安装1.8.0版本就行。
[code]pip install wordcloud==1.8.0[/code]
[font=-apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif]
[/font]


参考链接
yahan0904
yahan0904回复x9hJ1IuzChxa
同问,一直报错,无法解决
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
卢老师1993
卢老师1993
厉害!!
rzyzzxw
rzyzzxw
看饿了
少东
少东
作者
不吃螺蛳粉,三分不够准!
春秋大仙
春秋大仙
螺狮粉产业文化推广大使
szjuliet
szjuliet
一份有味道的词云嘿嘿
- 没有更多了 -