Python通过已有词汇词频制作简单词云图

有一个表格,sheet名字是:重庆长尾词。这个表单中有两列,一列是词汇名,另外一列是词汇出现的频次(是数字)。使用Python中的wordcloud库来制作词云图。

 1. 导入库和读取数据

import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt

df = pd.read_excel('C:/VV/学习/读研/毕业论文/毕业论文稿件1/中间稿/目的地形象&情感分析/情感分析.xlsx', sheet_name='重庆长尾词')

#将数据转化为字典类型,其中词汇名作为字典的键,词频作为字典的值。
word_freq = dict(zip(df['词汇'], df['词频']))

2. 生成词云

创建词云对象并生成词云。使用wordcloud库创建WordCloud对象,并使用generate_from_frequencies方法生成词云

wc = WordCloud(width=800, height=400, background_color='white')
wc.generate_from_frequencies(word_freq)

3. 展示词云

使用matplotlib库展示生成的词云图。

#bilinear使用双线性插值算法来平滑图片
plt.imshow(wc, interpolation='bilinear')
#隐藏图形坐标轴的函数
plt.axis('off')
plt.show()

最终效果(默认图案,没有用新的形状)

4. 让词云变成想要的形状

在网上下载一个背景是白色的喜欢的形状图片,jpg格式,png格式不行(试了好久,还抠了图,最终看一位老哥的评论说不行才指导)。

修改第2步:

import numpy as np

img_path = 'C:/VV/学习/读研/毕业论文/毕业论文稿件1/中间稿/目的地形象&情感分析/老虎.jpg'
# 加载图片并使用 mask 参数指定为该图片
ms = np.array(Image.open(img_path))


wc = WordCloud(background_color='white', mask=ms)
wc.generate_from_frequencies(word_freq)

效果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值