用Python做一个令人发疯的海报
Python可以做海报?
Python真的可以做海报吗?
Python做海报,你确定不是在逗我?
重要的问题问了三遍,答案是真的可以!
今天我们就来用Python的一个比较好玩的模块来进行创作----词云(wordcloud)。
词云这个模块很好玩,特可以把句子词云做成图像效果,而且很有感觉,大家可以先预览一下:
这些便是词云(wordcloud)做出来的。
那对于词云这个模块,我们怎么去使用呢?
首先第一步,安装词云模块:
pip install wordcloud
安装的时候记得要装一下它的依赖
链接:https://pan.baidu.com/s/1VyUb460-TCiVaHjrDGVBwg 密码:6kv1
依赖也可以使用pip安装,直接pip install 依赖所在的路径即可。
下面一个还要安装的是scipy模块,SciPy是为数学,科学和工程服务的开源软件; 这里对于词语排放就会用到它。
pip install scipy
最后一个模块是做图像展示的:matplotlib
pip install matplotlib
安装完毕之后我们就可以来使用词云模块了:
首先将需要用到的每个模块都导入进来:
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
import matplotlib.pyplot as plt
from scipy.misc import imread
导入之后做的第一件事是读取词汇文本,需要使用open方法打开一个TXT文件:
text = open('words.txt','r',encoding='utf-8').read()
之后我们需要使用导入背景图片了,背景图片决定我们最终图片显示的形状,这时候就需要用到scipy模块里面的inread方法了:
pic = imread('axa.jpg')
之后我们便可以使用wordcloud模块的WordCloud方法进行生成词云了:
wc = WordCloud( font_path='./font/llqq.ttf',#设置字体
background_color="black", #背景颜色
max_words=2000,# 词云显示的最大词数
mask=back_coloring,#设置背景图片
#max_font_size=100, #字体最大值
# width=4000,
# height=2000,
random_state=42,
# color_func = random_color_func,
).generate(text)
# 生成词云
wordcloud方法里面的参数有很多,现在来一一介绍:
font_path : string //字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf'
width : int (default=400) //输出的画布宽度,默认为400像素
height : int (default=200) //输出的画布高度,默认为200像素
prefer_horizontal : float (default=0.90) //词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )
mask : nd-array or None (default=None) //如果参数为空,则使用二维遮罩绘制词云。如果 mask 非空,设置的宽高值将被忽略,遮罩形状被 mask 取代。除全白(#FFFFFF)的部分将不会绘制,其余部分会用于绘制词云。如:bg_pic = imread('读取一张图片.png'),背景图片的画布一定要设置为白色(#FFFFFF),然后显示的形状为不是白色的其他颜色。可以用ps工具将自己要显示的形状复制到一个纯白色的画布上再保存,就ok了。
scale : float (default=1) //按照比例进行放大画布,如设置为1.5,则长和宽都是原来画布的1.5倍。
min_font_size : int (default=4) //显示的最小的字体大小
font_step : int (default=1) //字体步长,如果步长大于1,会加快运算但是可能导致结果出现较大的误差。
max_words : number (default=200) //要显示的词的最大个数
stopwords : set of strings or None //设置需要屏蔽的词,如果为空,则使用内置的STOPWORDS
background_color : color value (default=”black”) //背景颜色,如background_color='white',背景颜色为白色。
max_font_size : int or None (default=None) //显示的最大的字体大小
mode : string (default=”RGB”) //当参数为“RGBA”并且background_color不为空时,背景为透明。
relative_scaling : float (default=.5) //词频和字体大小的关联性
color_func : callable, default=None //生成新颜色的函数,如果为空,则使用 self.color_func
regexp : string or None (optional) //使用正则表达式分隔输入的文本
collocations : bool, default=True //是否包括两个词的搭配
colormap : string or matplotlib colormap, default=”viridis” //给每个单词随机分配颜色,若指定color_func,则忽略该方法。
fit_words(frequencies) //根据词频生成词云
generate(text) //根据文本生成词云
generate_from_frequencies(frequencies[, ...]) //根据词频生成词云
generate_from_text(text) //根据文本生成词云
process_text(text) //将长文本分词并去除屏蔽词(此处指英语,中文分词还是
需要自己用别的库先行实现,使用上面的 fit_words(frequencies) )
recolor([random_state, color_func, colormap]) //对现有输出重新着色。重新上色会比重新生成整个词云快很多。
to_array() //转化为 numpy array
to_file(filename) //输出到文件
到这里我们整个图片已经生成好了。下面我们只需要用pyplot方法将它展示出来就ok了。
运行程序就可以打印结果了。
打印结果就如我们一开始所展示的。
如果想把图片保存下来,可以使用上面提到过的to_file(filename) 方法:
对于如果需要使用中文分词,我们可以使用jieba模块来分词:
pip install jieba
seg_generator = jieba.cut(text) # 使用结巴分词
seg_list = [i for i in seg_generator if i not in stopwords]
seg_list = [i for i in seg_list if i != u' ']
seg_list = r' '.join(seg_list)
最后把我们的代码总结的更精炼一点:
这样使用词云做海报的代码结完成啦!
听说有气质的人都会关注这个公众号!
用Python做一个令人发疯的海报相关推荐
- python宣传海报_用Python做一个令人发疯的海报
Python可以做海报? Python真的可以做海报吗? Python做海报,你确定不是在逗我? 重要的问题问了三遍,答案是真的可以! 今天我们就来用Python的一个比较好玩的模块来进行创作---- ...
- Python做一个Kindle电子书下载助手,真香!
哈喽,大家好,我是菜鸟哥! 大家有没有想过把亚马逊网站上的Kindle电子书下载到自己的电脑上? 今天分享的项目可以帮大家实现这一目的.该项目用Python开发,简单.好用.开源. 下面分享下项目的使 ...
- 利用Python做一个漂亮小姐姐词云跳舞视频
最近不少小伙伴在学 Python,想找个好玩的练手项目. 那今天分享一个,简单,适合新手的 Python 小项目. 以下是具体项目: 本文将以哔哩哔哩–乘风破浪视频为例,you-get下载视频. 同时 ...
- 十行代码,我用Python做一个迷你版的美图秀秀!
美图秀秀相信大家都不陌生,大家只要操作美图秀秀,就可以P掉图片中脸上的一些瑕疵,让人变得更加的美丽.今天小编就带领大家来借助Python和Flask来实现一个美图秀秀的网页设计,大家只需要通过网页上传 ...
- 卧槽!我用Python做一个打字测试器!看看谁是最快的男人!
对于平时经常使用电脑的小伙伴而言,一个必不可少的操作就是利用键盘进行打字的操作,想必大家对自己的打字速度也是非常的自信,但是具体的速度大家却不能够准确表述. 今天,小编就同大家利用python制作一款 ...
- 简易版“美颜”来了!肝了一夜!用Python做一个高瘦脸神器!
"菜鸟学Python",第"519"篇原创 如今的网络时代,许多直播的博主们,在进行 直播时,都喜欢利用美颜的方式来提升自己的颜值.其中必不可少的就是瘦脸. 瘦 ...
- 用Python做一个房价预测小工具!
哈喽,大家好. 今天给大家介绍一个非常适合新手入门的机器学习实战案例. 这是一个房价预测的案例,来源于 Kaggle 网站,是很多算法初学者的第一道竞赛题目. 该案例有着解机器学习问题的完整流程,包含 ...
- 用python写搜索引擎_用python做一个搜索引擎(Pylucene)的实例代码
1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...
- 在哪里能收到python实例代码-用python做一个搜索引擎(Pylucene)的实例代码
1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信 ...
最新文章
- IntelliJ IDEA 设置项目编码
- Java 9.while语句
- 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
- Docker——IDEA部署Spring Boot项目到远程Docker解决方案
- java并发:初探sleep方法
- Python实现表格转shapefile方法
- 【CF-Round-458:D】Bash and a Tough Math Puzzle(判断是否可以通过修改区间内的一个数使区间gcd=x)
- MiniProfiler使用点滴记录-2017年6月23日11:08:23
- 常用的分类与预测算法
- 栈和队列的一些相同点和不同点
- esp8266 BH1750光照强度传感器
- 抖音巨量千川是什么?和飞瓜智投有什么不同?后者功能更强大!
- 教你用PS快速抠出长发
- v-html加过滤器
- numpy基础篇-简单入门教程4
- 日本巡逻机低飞掠过韩国军舰 韩军方斥“挑衅”
- 分享一组制作游戏用的人物立绘/角色形象素材图片,共182张图片
- SQL注入-05-防御修复建议
- 隐藏电话号码中间四位(java)
- Android:Android系统中安装的数据文件夹在哪个位置,如何删除wps下载下来的文件
热门文章
- Java中Steam流的用法及使用备忘
- Final Cut Pro X 10.5.1苹果视频剪辑软件英/中文TNT版安装教程(附带dmg安装包)
- 动员计算机二级考试主题班会,“期中考试动员会”主题班会设计
- 字体排版旋转90度或其他度数,页面加载完成打印
- linux系统安装pycharm的桌面图标快捷方式图标是空白的解决方案
- FPGA的PL端使用1G/2.5G Ethernet PCS/PMA or SGMII核实现SFP千兆以太
- 从0开始学管理系列(五) —— 工作流程标准化
- renix如何查看时延和抖动和丢包——网络测试仪实操
- 自动化的优点有哪些?
- 什么?你竟然还不知道微信可以修改微信号了?