匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

用Python做一张词云图,让你的文章更加生动!

用Python做一张词云图,让你的文章更加生动!

随着互联网的发展,越来越多的人开始写作和创作,但是只有文字的排版显得单调乏味,无法吸引读者的眼球。而词云图作为一种非常能够吸引读者注意力的可视化展示方式,成为了很多人的首选。本文将教大家如何使用Python制作一张精美的词云图。

1. 安装相关依赖

首先需要安装几个相关依赖:

- jieba:中文分词库,用来对中文文本进行分词处理。
- wordcloud:用来生成词云图。
- numpy:数学计算库,用来对文本进行数据处理。

使用以下命令进行安装:

```
pip install jieba
pip install wordcloud
pip install numpy
```

2. 准备数据

需要准备一份文本数据,本文我们以《红楼梦》为例。将文本保存在本地,取名为“hongloumeng.txt”。代码如下:

```
with open("hongloumeng.txt", "r", encoding="utf-8") as f:
    text = f.read()
```

3. 文本处理

需要先对文本进行处理,将其分词并去除一些无意义的停用词。代码如下:

```
import jieba
from collections import Counter

# 加载停用词表
stopwords = set()
with open("stopwords.txt", "r", encoding="utf-8") as f:
    for line in f:
        stopwords.add(line.strip())
        
# 分词
words = jieba.cut(text)
cnt = Counter()

# 统计词频
for word in words:
    if word not in stopwords:
        cnt[word] += 1
```

4. 生成词云图

使用wordcloud库生成词云图。代码如下:

```
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 导入背景图片
mask = plt.imread("background.png")

# 生成词云图
wc = WordCloud(font_path="msyh.ttf",  # 字体文件
               width=800, height=600,  # 图片大小
               background_color="white",  # 背景颜色
               max_words=100,  # 最多显示词数
               mask=mask,  # 背景图片
               contour_width=2, contour_color="steelblue"  # 边框效果
              )

# 生成词云图并保存
wc.generate_from_frequencies(cnt)
wc.to_file("wordcloud.png")

# 显示词云图
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
```

5. 效果展示

下面是生成的词云图效果展示:

![wordcloud](wordcloud.png)

以上就是用Python生成词云图的详细步骤,通过这样的操作,可以让我们的文章更加生动、有趣,吸引更多读者的注意力。