利用matplotlib绘制词云
时间: 2023-05-22 22:07:08 浏览: 48
ChitGPT: 好的,利用matplotlib绘制词云是一项基于Python编程的任务,通过对文本进行处理和分析,将出现频率较高的词汇以更大的字体和更鲜艳的颜色展示出来。您可以使用第三方库如wordcloud和jieba进行实现。感谢您的提问。
相关问题
利用一下文本绘制词云
好的,以下是一个简单的 Python 代码示例,利用 jieba 和 wordcloud 库绘制中文词云:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本文件
with open('example.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用 jieba 分词
words = jieba.cut(text)
# 将分词结果转换为字符串
text = ' '.join(words)
# 创建 WordCloud 对象
wc = WordCloud(font_path='msyh.ttc', width=800, height=600, background_color='white')
# 生成词云并保存为图片
wc.generate(text)
wc.to_file('wordcloud.png')
# 显示词云图片
plt.imshow(wc)
plt.axis('off')
plt.show()
```
以上代码中,我们首先使用 jieba 库对文本进行分词,然后将分词结果转换为字符串,再利用 WordCloud 库创建词云对象,最后生成词云图片并保存为本地文件。通过 matplotlib 库可以显示词云图片。需要注意的是,为了绘制中文词云,我们需要指定字体文件(这里使用了微软雅黑字体)。
当然,这只是一个简单的示例,如果要绘制更加复杂、美观的词云图,还需要进行一些优化和调整。
利用python统计红楼梦人物出场次数,并排出前20名,同时绘制词云图
可以利用Python中的文本处理库NLTK和词云库WordCloud来完成这个任务。首先,你需要先安装NLTK和WordCloud库。你可以使用以下命令来安装它们:
```
pip install nltk
pip install wordcloud
```
接下来,你需要下载红楼梦的文本数据。你可以在网上找到红楼梦的文本文件,将其保存为一个文本文件(比如,red_chamber.txt)。
下面是一个示例代码,用于统计红楼梦人物出场次数并绘制词云图:
```python
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本文件
with open('red_chamber.txt', 'r', encoding='utf-8') as file:
text = file.read()
# 设置停用词
stop_words = set(stopwords.words('chinese'))
# 分词
tokens = word_tokenize(text)
# 去除停用词和标点符号
filtered_tokens = [word for word in tokens if word.isalpha() and word not in stop_words]
# 统计人物出场次数
character_counts = nltk.FreqDist(filtered_tokens)
# 获取前20名人物
top_characters = character_counts.most_common(20)
# 输出前20名人物及其出场次数
for character, count in top_characters:
print(character, count)
# 绘制词云图
wordcloud = WordCloud(width=800, height=400, background_color='white').generate_from_frequencies(character_counts)
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
```
以上代码会输出红楼梦中前20名人物及其出场次数,并绘制一个词云图显示人物出场频率。你可以根据需要调整词云图的大小、颜色等参数。