准备阶段

安装wordcloud库 (pip install wordcloud)

中文分词需要jieba库

下载制作词云使用的文字(.txt)

一张背景图

环境(pycharm)

1.处理背景图片

背景需要使用色差较大的图片

原图:

为保护个人隐私 ,本图片经过处理

使用Photoshop 调整阈值

处理后

孙泓杰.png

2.生成英文文本词云

#coding:utf-8

#author:zhouchuang

# 导入wordcloud模块和matplotlib模块

from wordcloud import WordCloud

import matplotlib.pyplot as plt

from scipy.misc import imread

# 读取一个txt文件

text = open('瓦尔登湖(英文版).txt','r').read()

# 读入背景图片

bg_pic = imread('shj.png')

# 生成词云

wordcloud = WordCloud(mask=bg_pic,background_color='white',max_words=3000,max_font_size=80,min_font_size=5).generate(text)

# 保存词云图片

wordcloud.to_file("out_pic.jpg")

plt.imshow(wordcloud)

plt.axis('off')

plt.show()

out_pic.jpg

3.生成中文文本词云

# Author:ZhouChuang

# coding:utf-8

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('诗经.txt','rb').read()

# 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云

cut_text = " ".join(jieba.cut(comment_text))

d = path.dirname(__file__) # 当前文件文件夹所在目录

color_mask = imread("shj.png") # 读取背景图片

cloud = WordCloud(

# 设置字体,不指定就会出现乱码

font_path="simsun.ttf",

# 设置背景色

background_color='white',

# 词云形状

mask=color_mask,

#允许最大词汇

max_words=3000,

#最大号字体

max_font_size=150,

#有多少种情况

random_state=30

)

word_cloud = cloud.generate(cut_text) # 产生词云

word_cloud.to_file("诗经.jpg") # 保存图片

# 显示词云图片

plt.imshow(word_cloud)

plt.axis('off')

plt.show()

if __name__ == '__main__':

draw_wordcloud()

诗经.jpg

4. 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) //输出到文件

python中文分词与词云画像_使用Python绘制肖像词云相关推荐

  1. python中哪个库用于中文分词_以下属于?Python?中文分词方向第三方库的是:

    以下属于?Python?中文分词方向第三方库的是: 答:jieba 霍兰德代码由几个字母组成: 答:3 在弹性价格下的货币模型下,当汇率变动与本国货币存量的供给成正比,与外国货币供给成反比,当本国货币 ...

  2. “结巴”中文分词:做最好的 Python 中文分词组件

    jieba "结巴"中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") C ...

  3. 基于条件随机场模型的中文分词改进(Python中文分词)

    目录 改进分词速度 一.更改存储特征值的数据结构 二.缩短对语料库的遍历时间(对语料库的预处理) 三.先将所有的特征值保存到数据库中 改进分词的准确度 实验项目和结果截图 实验项目 保存特征值时采用多 ...

  4. [工具]python中文分词---【jieba】

    jieba "结巴"中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") C ...

  5. python中文分词---jieba

    原文地址:http://blog.csdn.net/sherlockzoom/article/details/44566425 jieba "结巴"中文分词:做最好的 Python ...

  6. Python中文分词工具大合集:安装、使用和测试

    转自:AINLP 这篇文章事实上整合了之前文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具 ...

  7. 3、Python 中文分词组件Jieba

    在自然语言处理中,分词是一项最基本的技术.中文分词与英文分词有很大的不同,对英文而言,一个单词就是一个词,而汉语以字为基本书写单位,词语之间没有明显的区分标记,需要人为切分.现在开源的中文分词工具有 ...

  8. 【NLP】jieba分词-Python中文分词领域的佼佼者

    1. jieba的江湖地位 NLP(自然语言)领域现在可谓是群雄纷争,各种开源组件层出不穷,其中一支不可忽视的力量便是jieba分词,号称要做最好的 Python 中文分词组件. "最好的& ...

  9. Python中文分词及词频统计

    Python中文分词及词频统计 中文分词 中文分词(Chinese Word Segmentation),将中文语句切割成单独的词组.英文使用空格来分开每个单词的,而中文单独一个汉字跟词有时候完全不是 ...

  10. python 中文分词工具

    python 中文分词工具 jieba,https://github.com/fxsjy/jieba jieba_fast,https://github.com/deepcs233/jieba_fas ...

最新文章

  1. abb变频器acs800功率_ABB变频器如何选型(1)
  2. 使用7z命名行备份VS项目
  3. android 数据线读串口数据线,一种串口写频及USB数据二合一数据线的制作方法
  4. 在线MSN代码(如同QQ在线咨询那种的)
  5. Java文件类boolean isDirectory()方法(带示例)
  6. css高清动图,CSS3+PNG实现GIF动画效果
  7. Ibatis 动态查询
  8. 何宾 单片机原理及应用_单片机原理及应用知识点整理
  9. spdy_buffer
  10. PHP集成环境Visual-AMP
  11. 耗时86小时的「百变小樱」最强数据可视化作品!
  12. php rrd update,通过shell脚本批量更新Cacti的RRD数据库文件
  13. Android面试(下篇)
  14. 2021年施工员-装饰方向-岗位技能(施工员)免费试题及施工员-装饰方向-岗位技能(施工员)复审考试
  15. 什么是集体户口,优势、劣势
  16. 妈妈,我以后也要上南邮!
  17. CISSP-OSG-各章节书面实验整理
  18. 通过无人机获取影像或三维模型辅助小区域大比例尺地形图的想法和问题
  19. 【TP5.1】商品列表加载
  20. 四旋翼飞行器2——自己设计四旋翼飞行器的硬件准备和基础知识

热门文章

  1. Github大盘点!2021年最惊艳的38篇AI论文
  2. 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
  3. Tensorflow训练mnist数据集源代码解析
  4. Java线程基础(二)
  5. 【Sort】QuickSort
  6. Expected authority at index 7: hdfs://
  7. 作业车间调度问题特征与调度效率相关性的研究Correlation of job-shop scheduling problem features with scheduling efficiency
  8. (源码)群体智能优化算法之正余弦优化算法(Sine Cosine Algorithm,SCA)
  9. MSRCRGIMP(基于GIMP版本的多尺度Retinex)
  10. 【版本控制】如何从github 上删除项目