python生成文字云

1、准备

1)txt文档

2)wordcloud安装,用于生成词云:pip install jieba

3)jieba库安装,用于对文档进行分词,不分词的话,词云图上显示的是句子:pip install wordcloud

4)背景图,注:想要轮廓效果,图的背景必须是纯色(白色或黑色最好,图像有明显的反差色)

2、不分词

1)代码:

# 生成不分词的图片
from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
 
with open("hetang.txt", encoding='utf-8') as f:  # 打开文本,我此处使用的是荷塘月色
    text = f.read()
mask = np.array(image.open("mod_imgs/3.png"))  # 打开背景图片
wc= WordCloud(
    mask=mask,  # 背景图像
    font_path='FZSTK.TTF'  # 中文字体,一般在c:\windows\fonts 下面
).generate(text)  # 生成文字云
image_produce = wc.to_image()
image_produce.show()  # 打印图片
wc.to_file('词云3-1.jpg')  # 将图片存入文件        

2)效果图

 3、分词

1)代码

from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba

with open("hetang.txt", encoding='utf-8') as f:
    text = f.read()
word_list = jieba.cut(text)  # 对中文进行分词
text =  " ".join(word_list)  # 分词后用空格连接在一起
mask = np.array(image.open("mod_imgs/3.png"))
wc= WordCloud(
    mask=mask,
    background_color='white',  # 图像背景色,默认是黑色(如上图)
    font_path = "FZSTK.TTF"
).generate(text)
image_produce = wordcloud.to_image()
image_produce.show()
wc.to_file('词云3-2.jpg')    

2)效果图

猜你喜欢

转载自www.cnblogs.com/jaysonteng/p/12502398.html