11769| 11
|
[项目分享] 词云生成器——Mind+Python模式 |
词云是什么?它就是一个词云 词云是用词来填充一张图片来表达作者的想法 如上图,表达了作者,也就是我,对螺蛳粉的强烈喜爱 那词云怎么做呢? 百度了一下,有些网站做词云要收费、带水印、或操作比较麻烦, 于是我试着用Mind+的Python模式来做了一个词云生成器. 【第一步】:创建一个Python项目 1.1打开Mind+(1.7.0RC2.0版本),选择Python模式。 1.2建立一个Python项目,并以“.py”结尾。 1.3和Python的世界打个招呼。 【第二步】:加载库文件 选择创作词云所需要的五个库文件,操作如下图所示: 每个库文件的简介在软件里都写的有,但具体理解它的功能和用法,还需要一些项目实操练习才可理解。 【第三步】:建立好“词”和“云” 3.1准备好词云所需要的“词”和“云” “云”也就是图片,我们找到一张轮廓清晰的“.jpg”格式的图片。 然后在桌面建立一个“.txt”格式的文档,将各种词或者语句放入文本中。 词云中显示的“词”就是从该文本中提取的。 参考如下: 3.2将准备好的“词”和“云”放入Python项目的文件夹中. 操作如下图所示: 到这一步,其实,你就可以直接打开我的程序用起来了。 打开后,双击词云对应的“.py”文件, 就会看到如下程序 【参数调整说明】 1、程序中“图案形状”对应的就是原始的图片名称; 2、“文本”对应的就是前面建立的“txt”文件名称; 3、“成品图”对应的就是输出的图片的名称。 4、如果想要调整词云上显示的字体, 找到设置字体的程序(第五行): font_path="C:\Windows\Fonts\HGXK_CNKI.TTF",max_words=200 “HGXK_CNKI.TTF”则是不同字体的名称, 所以只需要修改这个名称即可。 接下来可按照如下操作找到名称: 4.1任意打开一个文件夹,按照下图所示输入:“Windows\Fonts” 4.2找到自己想要的字体,鼠标右键点击查看属性 4.3复制对应的名称,粘贴到程序中就好啦。 以上就是在不需要仔细研究程序的基础上,修改一下参数即可实现创作词云的效果。 对于爱学习的小朋友们来说,我们就来了解下各程序的含义: 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") #导出图片文件 |
36.19 KB, 下载次数: 6409
附件
本帖最后由 Forgotten 于 2024-5-8 13:53 编辑 小青Andy 发表于 2024-1-8 13:24 提示“raise ValueError("Only supported for TrueType fonts") ValueError: Only supported for TrueType fonts”是因为wordcloud这个库新版本的问题,卸载掉已经安装的库,然后指定安装1.8.0版本就行。
参考链接 |
小青Andy 发表于 2024-1-8 13:24 你好,你这个问题解决了吗?我也是同样的问题,尝试了很久也调整不了 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed