用python生成一个词云
时间: 2023-07-18 17:42:38 浏览: 105
好的,下面是一个简单的Python代码示例,可以使用wordcloud库生成词云:
```
# 导入需要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 创建词云对象
wordcloud = WordCloud(width=800, height=600, background_color='white', font_path='msyh.ttc').generate(text)
# 显示词云图片
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
```
其中,`text.txt` 是需要生成词云的文本文件,`msyh.ttc` 是字体文件(指定中文字体,可以根据需要更改)。运行代码后,会弹出一个窗口显示生成的词云图片。
相关问题
用python生成一个词云并去掉常用停用词
要生成词云,需要安装并导入相应的库。常用的词云库包括wordcloud和pyecharts。下面我们以wordcloud为例,介绍生成词云并去掉常用停用词的方法。
1. 安装wordcloud库
可以通过pip命令安装:
```bash
pip install wordcloud
```
2. 导入库
```python
import jieba
from wordcloud import WordCloud, STOPWORDS
```
3. 读取数据并分词
需要读入要生成词云的文本,然后对文本内容进行分词:
```python
text = "这是一个测试文本,用于测试生成词云的效果。"
words = jieba.lcut(text)
```
4. 去掉停用词
停用词是指在文本中频繁出现、但对文本含义贡献很小的词语。我们可以将这些词语从分词结果中去掉,以提高词云的效果。wordcloud库中已经包含了一些常用的停用词,我们可以将其导入并加入到停用词列表中,也可以自定义停用词列表。
```python
stopwords = set(STOPWORDS)
stopwords.add("用于")
stopwords.add("测试")
```
5. 生成词云
将分词结果传递给WordCloud类的generate()方法,即可生成词云。可以指定词云的颜色、形状、字体等参数。
```python
wc = WordCloud(
background_color="white",
max_words=2000,
stopwords=stopwords,
font_path="msyh.ttc",
width=1200,
height=800,
margin=5
)
wc.generate(words)
```
6. 展示词云
可以使用matplotlib库将词云展示出来。
```python
import matplotlib.pyplot as plt
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
```
python 生成一个词云图
可以使用第三方库wordcloud来生成词云图。以下是一个简单的示例代码:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = "这是一段文本,用于生成词云图。"
wordcloud = WordCloud().generate(text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
```
你可以将text替换为你想要生成词云图的文本。
阅读全文