词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。

一、在线生成词云图

1、进入https://wordart.com/create;2、导入文本关键词;3、选择词云图形状;4、选择字体,由于默认的是英文字体,要生成中文字体需要自行在C:\windows\Fonts添加字体,可以选择雅黑字体。点Add Font添加就行;5、选择文字的方向,选择文字方向即可;6、点击Visualize生成词云图;7、点击Download and Share下载图片。


python词云去掉一个字 python词云去重复_词云

二、买家评价舆情分析

import pandas as pdfrom pyecharts import WordCloud
wd=pd.read_csv("cp.csv",header=0)wd.head()

python词云去掉一个字 python词云去重复_python词云去掉一个字_02

catename=[i[0]for i in wd[["关键词"]].values]value=[int(i[0])for i in wd[["词频"]].values]wordcloud=WordCloud(width=1200,height=600)wordcloud.add("",catename,value,word_size_range=[10,100],shape='star')

python词云去掉一个字 python词云去重复_Python_03

三、文本词云图

导入文本数据并作图。

filename = "wang.txt"mytext = open(filename).read()mytext

python词云去掉一个字 python词云去重复_点云图_04

from wordcloud import WordCloud
mycloud = WordCloud().generate(mytext)mycloud
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']  # 中文显示mycloud = WordCloud(font_path = 'simsun.ttc', collocations=False).generate(mytext) #解决重复问题%config InlineBackend.figure_format='svg'#矢量图显示,解决图片不清晰问题plt.imshow(mycloud)

python词云去掉一个字 python词云去重复_词云_05

plt.imshow(mycloud)plt.axis('off') #去除坐标轴plt.show()



python词云去掉一个字 python词云去重复_词云_06

替换背景图,代码封装。

from wordcloud import WordCloudimport matplotlib.pyplot as pltimport imageiofilename = "Python.txt"mytext = open(filename).read()picture = imageio.imread('people.jpg')mycloud = WordCloud(                background_color = 'white',  # 背景颜色                max_words = 20000,           # 最大词数                mask = picture,              # 以该参数值作图绘制词云,width和height会被忽略                max_font_size = 30,          # 显示字体的最大值                font_path = 'simsun.ttc',    # 解决显示口字型乱码问题                collocations=False,          # 避免词重复               ).generate(mytext)plt.imshow(mycloud)plt.axis('off')plt.savefig('new.jpg',dpi=1000,edgecolor='blue',transparent=True, bbox_inches='tight', quality=95)plt.show()

将此背景图片放置在路径下,建议选择一个纯色的背景图。

python词云去掉一个字 python词云去重复_python 中文文本里的词的重复数_07

生成的效果如下所示:

python词云去掉一个字 python词云去重复_词云_08