python英文词云代码_手把手教你制作 中英文 词云 | python demo
以前做词云的时候网上看的python做词云的坑都很多,耗了很多时间才高清楚wordcloud制作词云的精髓和脉络,整理如下。
相关文章
准备Mac环境下直接pip install wordcloud安装
windows环境下依赖c v++和.whl文件,将报错提示的链接复制粘贴到浏览器下载安装VC++,并装好相应的.whl文件
1.词云生成
wordcloud包的基本用法
class wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9,mask=None, scale=1, color_func=None, max_words=200,min_font_size=4,stopwords=None,random_state=None,
background_color='black', max_font_size=None, font_step=1, mode='RGB', relative_scaling=0.5, regexp=None, collocations=True,colormap=None, normalize_plurals=True)
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) //输出到文件
2.Demo1:输入英文文本
# 导入wordcloud模块和matplotlib模块
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from scipy.misc import imread
# 读取一个txt文件
text = open('test1.txt','r').read()
# 读入背景图片
bg_pic = imread('3.png')
# 生成词云
wordcloud = WordCloud(mask=bg_pic,background_color='white',scale=1.5).generate(text)
# image_colors = ImageColorGenerator(bg_pic)
# 显示词云图片
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
词云图
3.Demo2:输入中文文本
和英文词云最大的不同是要设置字体
# -*- coding: utf-8 -*-
__author__ = 'taorui'
# wordcloud 生成中文词云
from wordcloud import WordCloud
import jieba
from scipy.misc import imread
from os import path
import matplotlib.pyplot as plt
# 绘制词云
def draw_wordcloud():
# 读入一个txt文件
comment_text = open('test1.txt','r').read()
# 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云
cut_text = " ".join(jieba.cut(comment_text))
d = path.dirname(__file__) # 当前文件文件夹所在目录
color_mask = imread("3.jpg") # 读取背景图片
cloud = WordCloud(
# 设置字体,不指定就会出现乱码
font_path="STSONG.TTF",
# 设置背景色
background_color='white',
# 词云形状
mask=color_mask,
#允许最大词汇
max_words=2000,
#最大号字体
max_font_size=40
)
# print(cut_text)
word_cloud = cloud.generate(cut_text) # 产生词云
word_cloud.to_file("3.jpg") # 保存图片
# 显示词云图片
plt.imshow(word_cloud)
plt.axis('off')
plt.show()
if __name__ == '__main__':
draw_wordcloud()
词云图
4.Demo3:输入词频
from os import path
from wordcloud import WordCloud
import matplotlib.pyplot as plt
d = path.dirname(__file__)
frequencies = {u'知乎': 0.1, u'小段同学': 0.4, u'曲小花': 0.3, u'中文分词': 0.1, u'样例': 0.1}
wordcloud = WordCloud(font_path="STSONG.TTF").fit_words(frequencies)
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
词云图
python英文词云代码_手把手教你制作 中英文 词云 | python demo相关推荐
- 手把手教你制作中英文词云_英文.py
#!/usr/bin/env python # -*- coding:UTF-8 -*- #原文:https://blog.csdn.net/qq_30262201/article/details/7 ...
- 厉害了!不用一行代码,手把手教你制作漂亮词云!
题图 unsplash@chuttersnap 今天我们不谈技术 大家分享一个不用写代码 也能制作词云的工具 做出来的效果甚至比代码制作的还要好! 效果 它就是:WordArt 主页地址:https: ...
- python 合并excel 自动更新_手把手教你4种方法用Python批量实现多Excel多Sheet合并
一.前言 大家好,我是崔艳飞.前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Ex ...
- 手把手教你制作 中英文 词云 | python demo
以前做词云的时候网上看的python做词云的坑都很多,耗了很多时间才高清楚wordcloud制作词云的精髓和脉络,整理如下. 相关文章 Python 中文 文本分析 实战:jieba分词+自定义词典补 ...
- python实现人脸识别代码_手把手教你用1行代码实现人脸识别——Python Face_recogni...
摘要: 1行代码实现人脸识别,1. 首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片.其中每个人一张图片,图片以人的名字命名.2. 接下来,你需要准备另一个文件夹,里面是你要识别的图片.3 ...
- 如何用python抓取qq音乐_手把手教你使用Python抓取QQ音乐数据(第三弹)-阿里云开发者社区...
[一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...
- python numpy安装教程_手把手教你搭建机器学习开发环境—Python与NumPy的超简安装教程...
手把手教你搭建机器学习开发环境Python语言是机器学习的基础,所以,想要入门机器学习,配置好Python的开发环境是第一步.本文就手把手的教你配置好基于Python的机器学习开发环境.超简单!第一步 ...
- python处理时间序列非平稳_手把手教你用Python处理非平稳时间序列
简介 预测一个家庭未来三个月的用电量,估计特定时期道路上的交通流量,预测一只股票在纽约证券交易所交易的价格--这些问题都有什么共同点? 它们都属于时间序列数据的范畴!如果没有"时间" ...
- 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)
本文由博主 威威喵 原创 博客主页:https://blog.csdn.net/smile_running 背景 暑假期间,愁着无聊但也不能荒废学业吧,毕竟以后想靠技术混口饭吃!为了实施自己的计划,特 ...
最新文章
- 能“预测未来”的AI来了!谷歌DeepMind推Dreamer,训练时间减半
- TCP/IP、SOCKET、HTTP之间的联系与区别
- semantic computing Cognitive linguistics Distributed intelligence
- springwebflux 页面_Spring Webflux 响应式框架入门
- retrofit 上传、下载文件
- 前端学习(2250)拉取代码文件
- Android 驱动(3)---Android驱动开发知识储备
- 可以分屏的软件_Screen分屏软件下载|Screen+专业分屏 免费版v1.4.25 下载
- cacheable 表达式_Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用
- SQL Server2008R无法登录的解决方案(系统文件损坏)1814 18456....不看别后悔,有用请点赞...
- 统计1到2021中6的个数
- 拖拽实例 对于设置监听setInterval 的理解
- 2019上半年系统集成项目管理工程师上午真题及答案解析
- RT-Thread : IEEE1588/PTP 协议的实现
- “启用宏的幻灯片”是什么意思
- 无疆_炎戎的2011跨年总结
- win10 1607 密匙
- 故障效果,制作抖音效果的幻影海报
- python终端界面分屏输出_linux命令 - screen/终端分屏命令
- 从估值、稀释和倍数的角度来看 Yuga labs 、Opensea 等明星 NFT 项目
热门文章
- vue实现移动端适配方案
- 三星java3倍拍照手机_三星史上拍照最强后置三摄手机,果不其然:这次让你们欣赏大片...
- Ubuntu 16的中文输入法安装 (How to install chinese input methods)
- progressblock 安卓自定义进度条 progressbar 高仿仿QQ下载进度条
- VC实现SMC加密技术
- 猖獗不衰 ARP病毒该如何防治?
- python多张图片在一个窗口显示方法
- 第四次实验 第一期 紫金学院 Java 抽象类和接口
- 计算机房可以放屋顶么,屋顶电梯机房层计不计入建筑面积
- 一个PPT达人的箴言:渐变并且有质地的底纹,就是“底纹填充+半透明渐变图层”