利用背景图片生成词云

本文主要对爬取数据的一些高频词采用词云生成进行可视化展示。

1 爬取csdn的文章 准备txt 和背景图片 建议颜色区分大点 需要的字体

2 安装jieba 和 wordcloud

3 编写代码

from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS
import jieba
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np 

#读取txt数据 我就爬了点csdn的内容
text = open('D://ciyun//a.txt','r', encoding='UTF-8').read()
#结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径  
# 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
cut_text = jieba.cut(text)
result = '/'.join(cut_text)
print(result)
#设置停用词
# stopwords = set(STOPWORDS)
# stopwords.add('他们')
# stopwords.add('一个')
#wordcloud = WordCloud(font_path = "C:\Windows\Fonts\STHUPO.ttf",background_color="white",width=1500,height=1000,margin=0).generate(result)
##可以通过font_path路径来设置字体集,background_color 为设置背景颜色,默认设置为黑色,mask设置背景图片
###自定义图片生成词云
image = Image.open(r'D://ciyun//b43.png')  
img = np.array(image) 
#词云的生成,字体的路径一定要写上不然会出现乱码 可以下载其他字体创新
wc = WordCloud(font_path = "C:\Windows\Fonts\STHUPO.ttf",background_color='white',max_font_size=150,mask=img) 
# WordCloud其他参数设置,random_state=42,max_words=2000,min_font_size=20
wc.generate(result)
#绘制文字的颜色以背景图颜色为参考  
image_color = ImageColorGenerator(img)
wc.recolor(color_func=image_color)  
# wc.to_file(r"D://ciyun/wordcloud1.png",dpi=3000)
#图片的展示 
plt.imshow(wc)
plt.axis("off")
# 像素点多少
plt.savefig("D://ciyun/wordcloud3.png",dpi=300)
# plt.show()

结果


发布了52 篇原创文章 · 获赞 29 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_36783371/article/details/80363731