python中文词云生成

一、词云

“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

二、python实现中文词云显示

1、需要准备的python库包括,matplotlib,jieba和wordcloud,可以通过pip install ---进行安装。


2、代码实现

#-*-coding:utf-8-*-

###生成txt文件的词云

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba

text = open("zeTianji.txt","rb").read()
#结巴分词
wordlist = jieba.cut(text,cut_all=True)
wl = " ".join(wordlist)
#print(wl)#输出分词之后的txt


#把分词后的txt写入文本文件
#fenciTxt  = open("fenciHou.txt","w+")
#fenciTxt.writelines(wl)
#fenciTxt.close()


#设置词云
wc = WordCloud(background_color = "black", #设置背景颜色
               #mask = "图片",  #设置背景图片
               max_words = 2000, #设置最大显示的字数
               #stopwords = "", #设置停用词
               font_path = "fangsong_GB2312.ttf",
        #设置中文字体,使得词云可以显示(词云默认字体是“DroidSansMono.ttf字体库”,不支持中文)
               max_font_size = 50,  #设置字体最大值
               random_state = 30, #设置有多少种随机生成状态,即有多少种配色方案
    )
myword = wc.generate(wl)#生成词云

#展示词云图
plt.imshow(myword)
plt.axis("off")
plt.show()

说明wordcloud 默认使用了DroidSansMono.ttf 字体库,要显示中文需要添加一个支持中文的ttf 字库;

         代码中用到了字体:仿宋-GB2312字体


3、效果截图

以下显示的是《择天记》中的一章内容。



三、参考链接

http://python.jobbole.com/87496/?repeat=w3tc


posted @ 2022-11-30 18:30  风兮177  阅读(654)  评论(0编辑  收藏  举报