用python个性化制作自己的词云

先上图片


词云图

需要模板

pip install jieba
pip install wordcloud

还需要安装另外两个东西这两个我也不太懂借鉴百度写上去的

pip install scipy
pip install matplotlib

因为用ubuntu系统所有没有windows那么麻烦,也没有那么多报错
看到好多人制作自己的词云有没有一丝丝的激动啊,有激动就要马上去做,冲动才是第一创造力。
jieba是一款很恨很好用的中文分词模板
jeiba中文文档
至于wordcloud没有中文文档不过咱会猜啊,英文不好咱们可以猜啊,查看源代码猜。
先把我全部代码贡献上来

#-*-coding:utf-8—-*-
import jieba.analyse
from wordcloud import WordCloud,ImageColorGenerator
from scipy.misc import imread
import matplotlib.pyplot as plt

class wc:
    def __init__(self,txt_file,img_file,font_file):
    self.f = open(txt_file,'r')
    self.txt = self.f.read()
    self.f.close()
    self.tags = jieba.analyse.extract_tags(self.txt,topK=100)
    #topK说白了就是返回几个关键词
    self.text = ' '.join(self.tags)  #把分词链接起来,加空格因为英文靠空格分词
    self.img = imread(img_file)
    self.wc = WordCloud(font_path=font_file,background_color='white',max_words=100,mask=self.img,max_font_size=80)
###直接在这里进行猜###
#font_path指的是字体文件路径,因为wordcloud自带的字体不支持中文所以我们要指定一个字体文件,否者输出的图片全是框框
#background_color 默认是黑色 我设置成白色
#max_words最大显示的词数
#mask 背景图片
#max_font_size 最大字体字号
    self.word_cloud = self.wc.generate(self.text)

    def show_wc(self):
    #img_color = ImageColorGenerator(self.img)
        plt.imshow(self.word_cloud)
#可以通过 plt.imshow(self.wc.recolor(color_func=img_color))使图片颜色跟字体颜色一样
        plt.axis("off")
        plt.show()


if __name__=='__main__':
   mywc = wc('sanwen.txt','out.png','font.ttc')
   mywc.show_wc()


使用wc.recolor(color_func=img_color)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容