import wordcloud
import imageio
import jieba
包含第三方模块:wordcloud,imageio,jieba
'''读取图片。'''
open_photo = imageio.imread('resource/u=2576802456,616754819&fm=26&gp=0.jpg')
'''获取文本内容'''
f = open('resource/129224.txt',encoding='utf-8')
text = f.read()
f.close()
'''使用jieba模块进行精确分词。'''
text_list = jieba.lcut(text)
# 分词后形成一个列表,可以使用join方法进行连接。
test_object = ' '.join(text_list)
'''创建WordCloud对象。'''
wc = wordcloud.WordCloud(
# 背景颜色设置。
background_color = (255,255,255),
# 使用字体路径。
font_path = 'resource/HuaWenYuanTi-Light-2.ttf',
# 使用图片中的描述区域所构成的形状,来确定词云的具体形状。
mask = open_photo,
# 画布长宽的放大比例。
scale=10,
# 颜色设置模式。
mode='RGB',
# 设置水平词语占比。
prefer_horizontal=0.8
)
'''将文本传入WordCloud对象。'''
wc.generate(test_object)
'''使用图片确定文本颜色。'''
text_color = wordcloud.ImageColorGenerator(open_photo)
# 提取图片颜色进行词的颜色的选择。
wc_recolor = wc.recolor(color_func=text_color)
'''保存图片至指定路径。'''
wc_recolor.to_file('cloud.png')
import wordcloud
import imageio
import jieba
'''读取图片。'''
open_photo = imageio.imread('resource/u=2576802456,616754819&fm=26&gp=0.jpg')
'''获取文本内容'''
f = open('resource/129224.txt',encoding='utf-8')
text = f.read()
f.close()
'''使用jieba模块进行精确分词。'''
text_list = jieba.lcut(text)
# 分词后形成一个列表,可以使用join方法进行连接。
test_object = ' '.join(text_list)
'''创建WordCloud对象。'''
wc = wordcloud.WordCloud(
# 背景颜色设置。
background_color = (255,255,255),
# 使用字体的路径,当词云中含有中文时应该设置字体,该类默认不支持中文。
font_path = 'resource/HuaWenYuanTi-Light-2.ttf',
# 使用图片中的描述区域所构成的形状,来确定词云的具体形状。
mask = open_photo,
# 画布长宽的放大比例,默认值为1。
scale=10,
# 颜色设置模式。
mode='RGB',
# 设置水平词语占比。
prefer_horizontal=0.8
)
'''将文本传入WordCloud对象。'''
wc.generate(test_object)
'''使用图片确定文本颜色。'''
text_color = wordcloud.ImageColorGenerator(open_photo)
# 提取图片颜色进行词的颜色的选择。
wc_recolor = wc.recolor(color_func=text_color)
'''保存图片至指定路径。'''
wc_recolor.to_file('cloud.png')
参数 | 概述 |
---|---|
width | 指定画布的宽度,默认值为200,其权重值小于该类的scale参数 |
height | 指定画布的高度,默认值为200,其权重值小于该类的scale参数 |
min_font_size | 显示的最小字体大小,默认值为4 |
max_font_size | 显示的最大字体大小,默认值为None |
max_words | 词的最大显示个数,默认值为200 |
stop_words | 设置需要屏蔽的词 |