从网上获取中文时事文本素材 (保存为 txt 文本),利用第三 方库jieba 进行分词,统计词频,将高频词用第三方库 wordcloud 可视化为词云并显示,词云图片效果自定义。
时间: 2023-12-14 13:36:01 浏览: 131
好的,我可以为您提供一个简单的 Python 代码,来实现您所需要的功能。请确保您已经安装了 jieba 和 wordcloud 这两个第三方库。
首先,我们需要读取中文时事文本素材,并利用 jieba 进行分词并统计词频。代码如下:
```python
import jieba
from collections import Counter
# 读取文本文件
with open('news.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词
words = jieba.cut(text)
# 统计词频
word_counts = Counter(words)
```
接下来,我们可以使用 wordcloud 将高频词可视化为词云。代码如下:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 设置词云参数
wc = WordCloud(
width=800,
height=400,
background_color='white',
max_words=200,
font_path='simhei.ttf', # 设置中文字体,这里使用了华文黑体
)
# 生成词云
wc.generate_from_frequencies(word_counts)
# 显示词云
plt.imshow(wc)
plt.axis('off')
plt.show()
```
其中,`simhei.ttf` 是一个中文字体文件,可以从网上下载。您也可以使用其他中文字体文件。
完整代码如下:
```python
import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本文件
with open('news.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词
words = jieba.cut(text)
# 统计词频
word_counts = Counter(words)
# 设置词云参数
wc = WordCloud(
width=800,
height=400,
background_color='white',
max_words=200,
font_path='simhei.ttf', # 设置中文字体,这里使用了华文黑体
)
# 生成词云
wc.generate_from_frequencies(word_counts)
# 显示词云
plt.imshow(wc)
plt.axis('off')
plt.show()
```
注意,在运行代码之前,需要将 `news.txt` 替换成您所需要处理的文本文件名。
阅读全文