python生成中文词云的代码_Python生成词云(解决中文词云乱码)

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

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

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

6b4f29ed5d59

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")

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

6b4f29ed5d59

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",

)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值