Python中利用wordcloud库生成中文文本词云图
发布时间:2023-12-17 05:10:19
WordCloud库是一个用于生成词云图的Python库,它可以根据给定的文本生成一个独特的词云图,其中词的大小和颜色表示其在文本中的重要性。根据中文文本生成词云图需要一些额外的处理步骤,如使用结巴分词库进行中文分词。下面是一个使用WordCloud库生成中文词云图的例子。
import jieba
import wordcloud
# 读取文本文件
with open("text.txt", "r", encoding="utf-8") as file:
text = file.read()
# 对中文文本进行分词
words = jieba.cut(text)
# 将分词结果拼接成字符串
word_string = " ".join(words)
# 创建词云对象
wc = wordcloud.WordCloud(font_path="simhei.ttf", width=800, height=600)
# 生成词云图
wc.generate(word_string)
# 展示词云图
import matplotlib.pyplot as plt
plt.imshow(wc)
plt.axis("off")
plt.show()
在上面的例子中,我们首先使用jieba库对中文文本进行分词,然后使用wordcloud库生成词云图。首先,通过使用open函数读取中文文本文件,然后使用jieba.cut函数对文本进行分词,得到一个分词结果的列表。接下来,我们将分词结果转换为一个字符串,每个词之间使用空格分隔。我们创建一个WordCloud对象,并指定字体文件、词云图的宽度和高度。然后,我们调用generate方法生成词云图。最后,我们使用matplotlib.pyplot库展示词云图,调用imshow函数进行展示,调用axis("off")函数去除坐标轴,最后调用show函数显示词云图。
以上就是一个使用WordCloud库生成中文文本词云图的例子。需要注意的是,为了正确展示中文字符,我们需要指定一个中文字体文件(如simhei.ttf)作为参数传递给WordCloud对象的font_path属性。
