首页 > 编程 > Python > 正文

python根据文本生成词云图代码实例

2019-11-25 11:25:37
字体:
来源:转载
供稿:网友

这篇文章主要介绍了python根据文本生成词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

效果

代码

from wordcloud import WordCloudimport codecsimport jieba#import jieba.analyse as analysefrom scipy.misc import imreadimport osfrom os import pathimport matplotlib.pyplot as pltfrom PIL import Image, ImageDraw, ImageFont# 绘制词云def draw_wordcloud():  #读入一个txt文件  comment_text = open('data.txt','r',encoding='utf-8').read()  #结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云  cut_text = " ".join(jieba.cut(comment_text))  d = path.dirname(__file__) # 当前文件文件夹所在目录  color_mask = imread("bilibili.jpg") # 读取背景图片  cloud = WordCloud(    #设置字体,不指定就会出现乱码    font_path="C:/Windows/Fonts/STXINGKA.TTF",    #font_path=path.join(d,'simsun.ttc'),    #设置背景色    background_color='white',    #词云形状    mask=color_mask,    #允许最大词汇    max_words=2000,    #最大号字体    max_font_size=100  )  word_cloud = cloud.generate(cut_text) # 产生词云  word_cloud.to_file("bilibilirankword.jpg") #保存图片  # 显示词云图片  plt.imshow(word_cloud)  plt.axis('off')  plt.show()if __name__ == '__main__':  draw_wordcloud()

步骤以及注意点

1.首先要导入对应的库

2.文字会根据背景图而分布

3.背景图的选择对于最终效果很重要,选一个尽量大一点的背景图,这个背景图随便找就好,任何图片都可以不过最好大一些,图案不太复杂

4.如果字号小的话,可以调整字体,或者换个背景图

5.font_path要使用自己的字体库,不过你的电脑是windows的话,应该不用改,用我这个就可以,除此之外呢,这个字体如果是别的的话,可能会出现

中文不能产生词云图的现象,总之用我的就好了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表