利用wordcloud生成词云
时间: 2023-10-08 19:11:16 浏览: 99
生成词云需要使用Python中的wordcloud库。以下是一个简单的例子:
```python
# 导入需要的库
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='simhei.ttf').generate(text)
# 显示词云
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
# 保存词云
wordcloud.to_file('wordcloud.png')
```
其中,`text.txt`是要生成词云的文本文件,`simhei.ttf`是中文字体文件。可以根据需要修改词云的大小、背景色、字体等参数。最后生成的词云可以通过`imshow`方法显示出来,也可以通过`to_file`方法保存为图片文件。
相关问题
利用wordcloud生成词云,字体微软雅黑
好的,首先需要安装 wordcloud 和 matplotlib 库。可以使用以下命令进行安装:
```
pip install wordcloud matplotlib
```
接着,可以使用下面的代码生成词云:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = '这里是一段文本,可以是一篇文章或者一段话'
wordcloud = WordCloud(font_path='msyh.ttf', background_color='white').generate(text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
```
其中,`font_path` 参数指定了字体文件的路径,可以使用微软雅黑字体文件的路径替换 `'msyh.ttf'`。`background_color` 参数指定了词云的背景色,这里设置为白色。
运行代码后,会弹出一个窗口展示生成的词云。
python利用jieba和wordcloud生成词云图
1. 安装jieba和wordcloud库
```python
!pip install jieba
!pip install wordcloud
```
2. 导入库
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
```
3. 导入文本数据
```python
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
```
4. 使用jieba进行分词
```python
text = ' '.join(jieba.cut(text))
```
5. 生成词云图
```python
wordcloud = WordCloud(font_path='msyh.ttc',
background_color='white',
width=800,
height=600).generate(text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
```
完整代码:
```python
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
text = ' '.join(jieba.cut(text))
wordcloud = WordCloud(font_path='msyh.ttc',
background_color='white',
width=800,
height=600).generate(text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
```
阅读全文