python制作词云中文_Python生成词云(解决中文词云乱码)

第一:先准备生成词云要用户的文本以及图片

我这边是自己做了一个“洛神赋”三个字的图片,

以及从网上拷贝了《洛神赋》的正文

pic.png

第二:需要安装的第三方库

Pillow、wordcloud、jieba、numpy

具体代码如下:

from PIL import Image

from wordcloud import WordCloud

import jieba

import numpy as np

#1:打开词云文本

txt = open("D:\\0000_2018_python_study\\1_programma\\source\\txt.txt","rb").read()

#2:用jieba进行分词

txtout = "".join( jieba.cut(txt,cut_all=False) )

#3:读取词云图片

mask_pic = Image.open("D:\\0000_2018_python_study\\1_programma\\source\\pic.png")

mask_pic_array = np.array(mask_pic)#将词云图片转换为数组

#4:设置词云的属性

font = "C:\\Windows\\Fonts\\STXINGKA.TTF"#词云的中文字体所在路径

wc = WordCloud(font_path = font,

background_color="white",

mask = mask_pic_array,

contour_width=5,

contour_color="lightblue",

)

#5:生成词云

wc.generate(txtout)

#6:存储词云

wc.to_file("D:\\0000_2018_python_study\\1_programma\\source\\cy.png")

最后的效果是这样的(哈哈,丑哭)

cy.png

备注:

需要在wordcloud中设置你使用到的中文字体,

也就是wordcloud的font_path属性不要漏掉,否则中文会产生乱码

font = "C:\\Windows\\Fonts\\STXINGKA.TTF"#词云的中文字体所在路径

wc = WordCloud(font_path = font,#这里要设置,否则中文会乱码

background_color="white",

mask = mask_pic_array,

contour_width=5,

contour_color="lightblue",

)

你可能感兴趣的:(python制作词云中文)