wordcloud画不重复的词云图

python通过使用wordcloud我们能够画出词云图,下面简单说下wordcloud的使用包括重复的处理


由于使用pip install直接安装会报错,相关依赖关系,所以这里我直接使用的whl文件来安装

下载地址点这里,选择你所对应的版本。

wordcloud画不重复的词云图_第1张图片

pip install xxx.whl    安装就行了,下面我们说说使用。

from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
import matplotlib.pyplot as plt
import numpy as np

f = open('路径','r').read()       #这里读入已经使用分隔符分割了的文本

#如果要使用自定义的图片来做背景,使用下面这句导入图片
# alice_coloring = np.array(plt.imread('xxxxx.jpg'))

font = r"C:\Windows\Fonts\STZHONGS.TTF"   #由于默认不支持中文,这里导入自带的可用字体

wc = WordCloud(
    background_color='white',   #背景设置为白色
    font_path=font,             #字体
    max_words=200,              #最大显示的关键词数量
    stopwords=STOPWORDS,        #使用上面导入停用词表
    max_font_size=250,          #最大字体
    random_state=30,            #设置随机状态数,及配色的方案数
    height=860,                 #如果使用默认图片,则可以设置高
    margin=2,                   #图片属性
    width=1000,                 #设置宽
    collocations=False,         #是否包括两个词的搭配
    # mask=alice_coloring       #如果使用自定义图片,则导入上面我们读入的numpy类型数据
    )
wc.generate_from_text(f)        #将词按对应的词频在词云布局图上生成图片使用generate一样,都是使用核心方法generate_from_frequencies

# img_colors = ImageColorGenerator(background_Image)    #如果要使用自定义图片,这两行也取消注释
# wc.recolor(color_func=img_colors)

plt.imshow(wc)  #展示
plt.axis("off") #横纵坐标是否显示在图上,一般要关闭
plt.show()

上面已经将常用的基本方法都说了,如果要使用自定义的图片,需要使用黑白、或者颜色区分明显的图片,不然它自带的图形处理,不能将图片处理的很好,我亲自试过很多次。

对于关键词重复的问题,我们可以使用collocations参数来解决,默认collocations=True,我们将它设置为False就行了,具体原理,好像是把相邻的两词算作一个词,比如你的text如果是“苹果 使用 条款 下列 使用 条款”,当collation为True时就会把“使用条款”也当作一个词进行统计。(这个原理是借鉴一位网友的)


你可能感兴趣的:(数据挖掘)