词云代码python
以下是一个简单的Python代码,用于生成词云:
import wordcloud
import matplotlib.pyplot as plt
# 读取文本文件
with open("text.txt", "r", encoding="utf-8") as f:
text = f.read()
# 创建词云对象
wc = wordcloud.WordCloud(width=800, height=600, background_color="white", font_path="msyh.ttc")
# 生成词云
wc.generate(text)
# 显示词云
plt.imshow(wc)
plt.axis("off")
plt.show()
# 保存词云
wc.to_file("wordcloud.png")
其中,需要安装wordcloud和matplotlib库。在生成词云之前,需要先读取文本文件,并创建一个WordCloud对象。可以通过设置width、height、background_color和font_path等参数来调整词云的大小、背景颜色和字体。最后,通过generate方法生成词云,并通过imshow方法显示词云。如果需要保存词云,可以使用to_file方法。
接下来我会。
在生成词云之前,需要对文本进行预处理,例如去除停用词、分词等。可以使用Python中的第三方库,如jieba、nltk等来实现。以下是一个简单的例子:
import jieba
import wordcloud
import matplotlib.pyplot as plt
# 读取文本文件
with open("text.txt", "r", encoding="utf-8") as f:
text = f.read()
# 分词
words = jieba.cut(text)
# 去除停用词
stopwords = set(["的", "了", "是", "我", "你", "他"])
filtered_words = [word for word in words if word not in stopwords]
# 拼接成字符串
filtered_text = " ".join(filtered_words)
# 创建词云对象
wc = wordcloud.WordCloud(width=800, height=600, background_color="white", font_path="msyh.ttc")
# 生成词云
wc.generate(filtered_text)
# 显示词云
plt.imshow(wc)
plt.axis("off")
plt.show()
# 保存词云
wc.to_file("wordcloud.png")
在上面的代码中,我们使用jieba库对文本进行分词,并使用一个停用词集合来去除停用词。然后,将分词后的结果拼接成一个字符串,再使用WordCloud对象生成词云。最后,通过imshow方法显示词云,并使用to_file方法保存词云。