只用Python就可以制作的简单词云


Posted in Python onJune 07, 2021

一、准备

词云制作所必需的三个包:

安装:pip install matplotlib
安装:pip install jieba
安装:pip install wordcloud

(可能还需要其他包:pip install numpy等等,可以自行添加)

二、英文词云

test.txt文本内容:

python python3 is good well bestbast shell cool
Age has reached the end of the beginning of a word. May be guilty in his seems to passing a lot of different life became the appearance of the 
same day; May be backto oneself the paranoid weird belief disillusionment, these days, my mind has been very messy, in my mind constantly. Always 
feel oneself should go to do something, or write something. Twenty years of life trajectory deeply shallow, suddenly feel something, do it.The end 
of our life, and can meet many things really do?During myhood, think lucky money and new clothes are necessary for New Year, but as the advance of 
the age, will be more and more found that those things are optional; Junior high school, thought to have a crush on just means that the real growth,
but over the past three years later, his writing of alumni in peace, suddenly found that isn't really grow up, it seems is not so important; Then 
in high school, think don't want to give vent to out your inner voice can be in the high school children of the feelings in a period, but was event
ually infarction when graduation party in the throat, later again stood on the pitch he has sweat profusely, looked at his thrown a basketball hoops
, suddenly found himself has already can't remember his appearance.

源代码:

import matplotlib.pyplot as plt  # 在任何绘图之前,我们需要一个figure对象,可以理解成我们需要一张画板才能开始绘图
import jieba  # jieba库是中文分词的第三方库(中文文本需要通过分词获得单个的词语)
from wordcloud import WordCloud  # 导入wordcloud库

text = open(r'test.txt', "r").read()  # 读入txt文本数据,在字符串前面加上字符r或R之后表示原始字符串,字符串中的任意字符都不再进行转义,后一个r表示“只读”
cut_text = jieba.cut(text)  # 结巴中文分词,生成字符串,默认精确模式,如果不通过分词,无法直接生成正确的中文词云
result = " ".join(cut_text)  # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
# join函数的用法:'sep'.join(seq)参数说明:sep:分隔符。可以为空;seq:要连接的元素序列、字符串、元组、字典;即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

# 生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
# 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
wc = WordCloud(
    # 设置字体,不指定就会出现乱码
    background_color='white',  # 设置背景色,默认为黑色
    width=500,  # 设置背景宽
    height=350,  # 设置背景高
    max_font_size=50,  # 最大字体
    min_font_size=10,  # 最小字体
    mode='RGBA'  # 当参数为“RGBA”并且background_color不为空时,背景为透明
)
wc.generate(result)  # 根据分词后的文本产生词云
wc.to_file(r"wordcloud.png")  # 保存绘制好的词云图
plt.imshow(wc)  # 以图片的形式显示词云
plt.axis("off")  # 关闭图像坐标系,即不显示坐标系
plt.show()  # plt.imshow()函数负责对图像进行处理,并显示其格式,但是不能显示。其后必须有plt.show()才能显示

效果展示:

只用Python就可以制作的简单词云

三、中文词云

pkq.jpg模板内容:

只用Python就可以制作的简单词云

poem.txt文本内容:

君不见黄河之水天上来,奔流到海不复回。
君不见高堂明镜悲白发,朝如青丝暮成雪。
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
烹羊宰牛且为乐,会须一饮三百杯。
岑夫子,丹丘生,将进酒,杯莫停。
与君歌一曲,请君为我侧耳听。
钟鼓馔玉不足贵,但愿长醉不复醒。
古来圣贤皆寂寞,惟有饮者留其名。
陈王昔时宴平乐,斗酒十千恣欢谑。
主人何为言少钱,径须沽取对君酌。
五花马,千金裘,
呼儿将出换美酒,与尔同销万古愁。
床前明月光,疑是地上霜。
举头望明月,低头思故乡。
海客谈瀛洲,烟涛微茫信难求。
越人语天姥,云霞明灭或可睹。
天姥连天向天横,势拔五岳掩赤城。
天台四万八千丈,对此欲倒东南倾。
我欲因之梦吴越,一夜飞度镜湖月。
湖月照我影,送我至剡溪。
谢公宿处今尚在,渌水荡漾清猿啼。
脚著谢公屐,身登青云梯。
半壁见海日,空中闻天鸡。
千岩万转路不定,迷花倚石忽已暝。
熊咆龙吟殷岩泉,栗深林兮惊层巅。
云青青兮欲雨,水澹澹兮生烟。
列缺霹雳,丘峦崩摧。洞天石扉,訇然中开。
青冥浩荡不见底,日月照耀金银台。
霓为衣兮风为马,云之君兮纷纷而来下。
虎鼓瑟兮鸾回车,仙之人兮列如麻。
忽魂悸以魄动,恍惊起而长嗟。
惟觉时之枕席,失向来之烟霞。
世间行乐亦如此,古来万事东流水。
别君去兮何时还,且放白鹿青崖间,
须行即骑访名山。安能摧眉折腰事权贵,
使我不得开心颜

源代码:

import wordcloud
import numpy as np
from PIL import Image # Image模块是在Python PIL图像处理常用的模块
import jieba

pic = Image.open("pkq.jpg")  # 打开图片路径,形成轮廓
shape = np.array(pic)  # 图像轮廓转换为数组
wc = wordcloud.WordCloud(mask=shape, font_path="simkai.ttf", background_color="white",
                         max_font_size=100)  # mask为图片背景,font_path为字体,若不设置可能乱码

text = open(r'poem.txt', "r", encoding='UTF-8').read()  # 对中文应该设置编码方式为utf—8
cut_text = jieba.cut(text)
result = " ".join(cut_text)
wc.generate(result)
wc.to_file("cloud.jpg")

效果图:

只用Python就可以制作的简单词云

到此这篇关于只用Python就可以制作的简单词云的文章就介绍到这了,更多相关Python制作词云内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python基于twisted实现简单的web服务器
Sep 29 Python
在Django的上下文中设置变量的方法
Jul 20 Python
python中的计时器timeit的使用方法
Oct 20 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
python list格式数据excel导出方法
Oct 31 Python
对Python3 序列解包详解
Feb 16 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
Python中的变量与常量
Nov 11 Python
Python pyecharts绘制条形图详解
Apr 02 Python
python通过函数名调用函数的几种方法总结
Jun 07 #Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Python实现的扫码工具居然这么好用!
Jun 07 #Python
忆童年!用Python实现愤怒的小鸟游戏
python单元测试之pytest的使用
Jun 07 #Python
Python趣味实战之手把手教你实现举牌小人生成器
怎么用Python识别手势数字
You might like
第九节 绑定 [9]
2006/10/09 PHP
php下实现农历日历的代码
2007/03/07 PHP
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
php设计模式小结
2013/02/15 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
php截取中文字符串函数实例
2015/02/23 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
Prototype Function对象 学习
2009/07/12 Javascript
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
python zip()函数的使用示例
2020/09/23 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
医药代表个人的求职信分享
2013/12/08 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
项目战略合作意向书
2015/05/08 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
cypress测试本地web应用
2022/06/01 Javascript