实战一:中英文词云

                                     实战一:中英文词云

1.简介

    词云,又称文字云,由词汇组成类似云的彩色图形。词云是一种数据呈现方式,用于展示大量文本数据。

 

2.准备

    工具:Anaconda+Pycharm

    所需安装包:

pip install wordcloud matplotlib jieba pillow

3.WordCloud()可选的参数

  • font_path:可用于指定`字体`路径,包括otf和ttf
  • width:词云的宽度,``默认``为400
  • height:词云的高度,默认为200
  • mask:蒙版,可用于定制词云的形状
  • min_font_size:最小字号,默认为4
  • max_font_size:最大字号,默认为词云的高度
  • max_words:词的最大数量,默认为200
  • stopwords:将被忽略的停用词,如果不指定则使用默认的停用词词库
  • background_color:背景颜色,默认为black
  • mode:默认为RGB模式,如果为RGBA模式且background_color设为None,则背景将透明

4.英文词云

# 进行英文词云生成
from wordcloud import WordCloud
import matplotlib.pyplot as plt

path = 'D:\\PyCharm\\PycharmProjects\\实战实战\\实战一 词云的使用\\'

# 打开文本
text = open(path + 'source//constitution.txt').read()
# 生成对象
wc = WordCloud().generate(text)

# 显示词云
plt.imshow(wc, interpolation='bilinear')    #负责对图像进行处理,并显示其格式,但是不能显示
plt.axis('off')     #不显示坐标尺寸
plt.show()

# 保存到文件
wc.to_file(path + 'create_images//wordcloud1.png')

'''由于英文单词之间有空格,所以不需要额外的处理。'''

 

                                     

由于英文单词之间有空格,所以不需要额外的处理。

5.中文分词

(1)不分词的效果

       以西游记为例

#中文不分词
from wordcloud import WordCloud
import matplotlib.pyplot as plt

path = 'D:\\PyCharm\\PycharmProjects\\实战实战\\实战一 词云的使用\\'

# 打开文本
text = open(path + 'source//xyj.txt', encoding='UTF-8').read()

# 生成对象
wc = WordCloud(font_path='source/Hiragino.ttf', width=800, height=600, mode='RGBA', background_color=None).generate(text)

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

# 保存到文件
wc.to_file(path + 'create_images//wordcloud2.png')

                                 

(2)中文分词效果

       用jieba进行中文分词

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

path = 'D:\\PyCharm\\PycharmProjects\\实战实战\\实战一 词云的使用\\'

# 打开文本
text = open(path + 'source//xyj.txt', encoding='UTF-8').read()

#中文分词
text=' '.join(jieba.cut(text))
print(text[:100])

# 生成对象
wc = WordCloud(font_path='source/Hiragino.ttf', width=800, height=600, mode='RGBA', background_color=None).generate(text)

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

# 保存到文件
wc.to_file(path + 'create_images//wordcloud3.png')

                                 

(3)使用蒙版

       将mask翻译为蒙版,使用蒙版之后,可以根据提供的蒙版图片,生成指定形状的的词云

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
from PIL import Image
import numpy as np

path = 'D:\\PyCharm\\PycharmProjects\\实战实战\\实战一 词云的使用\\'

# 打开文本
text = open(path + 'source//xyj.txt', encoding='UTF-8').read()

#中文分词
text=' '.join(jieba.cut(text))
print(text[:100])

# 生成对象
meng=np.array(Image.open(path+'source//black_mask.png'))
wc = WordCloud(mask=meng,font_path='source/Hiragino.ttf', width=800, height=600, mode='RGBA', background_color=None).generate(text)

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

# 保存到文件
wc.to_file(path + 'create_images//wordcloud4.png')

                                          

链接:https://pan.baidu.com/s/1fUBi0P8WDyQlN7-pqOMiFg 
提取码:c2dk 
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值