用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是搜索引擎的一般结构,信息搜集模块从网络采集信 ...
最新文章
- RenderMonkey基本使用方法
- DevOps也要考虑安全问题:微软、任天堂等知名公司源码遭泄露
- C语言初学者代码中的常见错误与瑕疵(9)
- Spring Boot中使用@Async实现异步调用
- PyTorch一年增长194%,超越TensorFlow指日可待
- 将叶节点连接成一个链表☆
- missingno库—缺失值可视化
- 贪吃蛇游戏C语言源代码学习
- admin登录 404_Shiro Springboot 集群共享Session (Redis)+单用户登录
- SQL语句练习—员工表
- python 乡镇轮廓 高德_Python爬虫终极解决方案-以获取高德地图小区边界为例
- exe msdt 无法上网_msdt.exe文件下载
- html5橡皮擦,用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
- Pandas - A value is trying to be set on a copy of a slice from a DataFrame
- 认识System Center之一
- 第一个项目的大概流程
- Java并发编程 - 第三章 Java内存模型
- 树莓派3B+ 迅雷远程下载机
- Python3中True、False、None等含义详解
- STM32低功耗总结——转载