Python 数据可视化生成词云 WordCloud
程序员文章站
2022-07-14 10:53:42
...
演示:
不罗嗦,直接先上代码。
from wordcloud import WordCloud
import jieba
from matplotlib import pyplot as plt
from PIL import Image
import numpy as np
path = r'E:\123\教程' #文本路径
path_ph = r'E:\123\教程' #词云背景模板路径
font = r'C:\Windows\Fonts\FZSTK.TTF' #设置字体,可以显示中文。
text = (open(path + r'\job.txt', 'r', encoding='utf-8')).read() # gbk <--> utf-8
cut = jieba.cut(text) # 使用 jieba库 分词
string = ' '.join(cut)
print(len(string)) # 输出词量
img = Image.open(path_ph + r'\2.jpg') # 打开图片
img_array = np.array(img) # 将图片装换为数组
stopword = ['Unword'] # 设置停止词,也就是你不想显示的词,可有可无,看情况处理
wc = WordCloud(
background_color='white', #设置显示内容在什么颜色内
width=1000, #设置图片宽
height=800, #设置图片高
mask=img_array, #设置词云背景模板
font_path=font, #设置字体路径
stopwords=stopword,
scale=10 #图像清晰度,数值越大越清晰,最好在10-30之间。
)
wc.generate_from_text(string) # 绘制图片
plt.imshow(wc)
plt.axis('off') #关闭坐标轴
plt.show() # 显示图片
wc.to_file(path + r'\wordcloud1.png') # 保存图片
使用之前需要将需要的第三方库先下载安装完。(wordcloud、jieba、matplotlib、PIL、numpy)
可以通过pip安装。
如果还不会的可以看我的另一个文章———>pip 安装,更新,卸载,查看模块方法
Note:有时候你们生成的词云可能不清晰,是因为没有设置 scale 值 ,设置完后会让生成的词云图像变得清晰。