Python词云图的制作
# 导入包,ImageColorGenerator是一个根据背景图片来生成的
from wordcloud import WordCloud, ImageColorGenerator
# 导入numpy
import numpy as np
# 处理中文划分需要这一个包
import jieba
import PIL.Image as image
text = open('C:/Users/Supercoco/Desktop/政府报告.txt', encoding='utf-8')
text = text.read() # 读取这一个文件
excludes = {"和", "的", "要","在","是","与"} # 先准备不要展示那些值
mask = np.array(image.open('C:/Users/Supercoco/Desktop/boy.png')) # 打开图片,具体什么玩意我也不知道是什么
# print("mask的type为:",type(mask))
word_list = jieba.cut(text, cut_all=True) # 开始划分这一个文件,cut_all是全模式,False是精确模式
word_list = " ".join(word_list) # 用空格来连接它
# print(word_list)
# 关键步骤来了!!!!!
wordcloud = WordCloud(background_color="white", # 设置图片背景颜色
font_path="simfang.ttf", # 指定字体文件的完整路径,如果不设置可能显示不了中文
scale=8, # 数值越大图片就越清晰
mask=mask, #
max_words=100, # 显示的词
stopwords=excludes # 跳过那些词
).generate(word_list)
# 绘制文字的颜色以背景图颜色为参考
image_color = ImageColorGenerator(mask)
# 好像是结合原图色彩啥的 忘记了。。。。不要看我我也不知道,这句话我是copy的
wordcloud.recolor(color_func=image_color) # 这肯定是修改颜色的
wordcloud.to_file("政府云.jpg") # 保存文件
# image=wordcloud.to_image() #保存图片
# image.show() #展示图片
1.首先要导包
2.导入文本文件,把数据读取出来
3.导入图片,这里不导入图片默认生成的是一个矩形的词云图
4.使用jieba.cut()来划分文本里面的内容,然后使用空格将它们连接起来
5.生成词云图WordCloud().generate()第一个括号里面是生成词云图的相关配置,第二个是传入一个已经划分好的文本内容
6.保存图片或者可以展示图片