wordcloud是优秀的词云展示库,以文字为基本单位,通过图形可视化的方式,更加生动和艺术的展示文本。
pip install wordcloud#安装
一个超级简单的词云
import wordcloud
c=wordcloud.WordCloud()#1.配置对象参数
wenzi = "He is busy every day. He has many thing to do. He has no time to go home for lunch. He gets home at 7:00 p.m. At home he does the housework. He cooks nice dishes for mother and me."
c.generate(wenzi) #2.加载词云文本
c.to_file("pywordcloud.png")#3.输出词云文件
他是默认输出,看起来有点丑,我们把背景很漂亮
import wordcloud
c = wordcloud.WordCloud(background_color='white')#1.配置对象参数,背景色换为白色
wenzi = "He is busy every day. He has many thing to do. He has no time to go home for lunch. He gets home at 7:00 p.m. At home he does the housework. He cooks nice dishes for mother and me."
c.generate(wenzi) #2.加载词云文本
c.to_file("pywordcloud.png")#3.输出词云文件
可以云,我们可以通过更改参数来控制WordCloud绘制的参数,以下是常用的参数
fontpath:字符型,用于传入本地特定字体文件的路径(ttf或otf文件)从而影响词云图的字体族
width:int型,用于控制词云图画布宽度,默认为400
height:int型,用于控制词云图画布高度,默认为200
prefer_horizontal:float型,控制所有水平显示的文字相对于竖直显示文字的比例,越小则词云图中竖直显示的文字越多
mask:传入蒙版图像矩阵,使得词云的分布与传入的蒙版图像一致
contour:float型,当mask不为None时,contour参数决定了蒙版图像轮廓线的显示宽度,默认为0即不显示轮廓线
contour_color:设置蒙版轮廓线的颜色,默认为’black’
scale:当画布长宽固定时,按照比例进行放大画布,如scale设置为1.5,则长和宽都是原来画布的1.5倍
min_font_size:int型,控制词云图中最小的词对应的字体大小,默认为4
max_font_size:int型,控制词云图中最大的词对应的字体大小,默认为200
max_words:int型,控制一张画布中最多绘制的词个数,默认为200
stopwords:控制绘图时忽隐忽现的词,即不描画词中讲述的词,默认为无,即调用自带的中文吸词表(学习英文,需提供并吸收)
背景:控制词云图背景色,默认为’黑色’
模式:当设置为’RGBA’且BACKGROUND_COLOR设置为无时,背景色变为透明,默认为’RGB’
relative_scaling:浮动型,控制词云图绘制字的字体大小与对应字词频的一致性相关性,当为1时完全相关,当为0时完全相关,默认为0.5
color_func:自定义设置中盘函数,默认为None
colormap:对应
matplotlib
的colormap调色盘,默认为viridis
,这个参数与参数color_func互斥,当color_func有函数传入时本参数失效重复:布尔型,控制是否允许一张词云图中出现重复词,默认为假即不允许重复词
random_state :控制随机数字水平,某一特定固定的数字之后每一次绘画文字图将不会改变
接下来,我们在这个词云的基础上添加一个五角星
利用PIL
模块读取我们的五角星图片文件并转换为numpyWordCloud
数组,作为掩码参数优势:
from PIL import Image
import numpy as np
ziyan_mask = np.array(Image.open(r'C:\Users\Administrator\Desktop\R-C.png'))#读取图片
c = wordcloud.WordCloud(background_color='white',mask = ziyan_mask)#1.配置对象参数,背景色换为白色
wenzi = "He is busy every day. He has many thing to do. He has no time to go home for lunch. He gets home at 7:00 p.m. At home he does the housework. He cooks nice dishes for mother and me."
c.generate(wenzi) #2.加载词云文本
c.to_file("pywordcloud.png")#3.输出词云文件
有点丑,但大概就是这个英文~~~,,明天见