用python生成云词汇_利用Python生成词云

利用Python生成词云是将数据可视化的一种方法,需要用到wordcloud、matplotlib 两个模块,如果这两个模块还没有安装,先用pip将两个模块安装好:

pip install wordcloud

pip install matplotlib

下面开始完成代码部分:

import matplotlib.pyplot as plt

import wordcloud

# 这里需要数据可视化是一本英文txt小说,利用文件读取的方式将小说的内容读出来,然后绘制词云。

file = open('/home/jcglqmoyx/Desktop/Jane Eyre.txt', 'r')

txt = file.read()

def generate_wordcloud():

w = wordcloud.WordCloud(

background_color='black',

mask=plt.imread('/home/jcglqmoyx/Desktop/background_image.jpg'), # 背景图所在文件路径

height=2000, # 所要生成词云图片的尺寸

width=2400,

)

w.generate(txt)

w.to_file("/home/jcglqmoyx/Desktop/wordcloud.png") # 生成词云图片

generate_wordcloud()

这里需要注意的是,上面的代码所分析的文件是一个英文txt文档,但其实只分析一句话或者几个单词也可以,只要保证词与词之间有空格即可。

import matplotlib.pyplot as plt

import wordcloud

txt = 'hello world, this is a demo snippet'

def generate_wordcloud():

w = wordcloud.WordCloud(

background_color='black',

mask=plt.imread('/home/jcglqmoyx/Desktop/background_image.jpg'), # 背景图所在文件路径

height=2000, # 所要生成词云图片的尺寸

width=2400,

)

w.generate(txt)

w.to_file("/home/jcglqmoyx/Desktop/wordcloud.png") # 生成词云图片

generate_wordcloud()

如果所分析的内容存储在一个中文txt文件中,则需要多几个步骤:

import jieba

import matplotlib.pyplot as plt

import wordcloud

def generate_wordcloud():

# 设置编码方式为UTF-8

file = open('/home/jcglqmoyx/Desktop/visualize_novel.py', 'r', encoding='utf8')

txt = file.read()

file.close()

# 使用jieba模块进行分词, 如果没有安装jieba模块,需要用 pip intall jieba 进行安装

seg_list = jieba.cut(txt, use_paddle=True)

txt = ' '.join(list(seg_list))

print("Paddle Mode: " + '/'.join(list(seg_list)))

w = wordcloud.WordCloud(

background_color='black', # 生成图片的背景颜色

mask=plt.imread('/home/jcglqmoyx/Desktop/backgroud_image.jpg'),

# 所需要的中文字体,可以在Windows系统存储字体文件的路径下找到,可以参考这篇文章找到中文字体:https://jingyan.baidu.com/article/a3f121e4a69c67fc9052bb07.html

font_path='/home/jcglqmoyx/Downloads/微软雅黑.ttf',

height=2000,

width=2400,

)

w.generate(txt)

w.to_file("/home/jcglqmoyx/Desktop/wordcloud.png")

generate_wordcloud()

这里是使用Python生成词云图片的一些效果:英文名著图鉴。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值