词云wordcloud在图片显示

很多时候我们能看到一张图片,比如下面:

在这里插入图片描述
是不是有点酷炫, 知道是怎么实现的吗。其实比较简单,用python的词云库就可以实现。

词云:言简意赅就是一些类词组组成的集合。

让我们来看看看强大的python如何实现的吧

词云所依赖的库有:
jieba:用于分词
matplotlib:用于绘图,数据可视化
wordcloud:词云
PIL:图片处理
numpy:举证运算
sqlite3:数据库(这是可选的,主要是用于从数据库查找出词,组合形成集合)

import jieba  # 分词
from matplotlib import pyplot as plt  # 绘图,数据可视化
from wordcloud import WordCloud  # 词云
from PIL import Image  # 图片处理
import numpy as np  # 矩阵运算
import sqlite3

# 准备词云所需的文字
conn = sqlite3.connect('movie.db')
print("打开数据库")
cur = conn.cursor()
sql = '''
    select info from movie250
'''

data = cur.execute(sql)  # 执行SQL语句
text = ""
for item in data:
    text = text + item[0]

print(text)
# conn.commit()  # 提交数据库操作
cur.close()
conn.close()  # 关闭数据库连接

print("检索出数据")

# 分词
cut = jieba.cut(text)

# 打印出分词
content = ' '.join(cut)

# 选择一张底照
img = Image.open(r'.\static\old.jpg')
img_array = np.array(img)  # 将图片转换为数组

# wordCloud配置,生成遮罩,背景色,子图
wc = WordCloud(
    background_color='white',
    mask=img_array,
    font_path='simkai.ttf'  # 字体存放位置C:\windows\Fonts
)
wc.generate_from_text(content)

# 绘制图片了
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off')  # 是否显示坐标轴
# plt.show()  # 显示生成的词云图片
# 输出词云图片到磁盘,并设置分辨率
plt.savefig(r'.\static\new.jpg', dpi=100)

备注:生成的图片显示和保存不能同时存在,plt.show()和plt.savefig同时存在的话,显示的图片正常,但是保存的图片会是一张空白,这是因为显示时会创建一张空白底照,影响保存效果。所以如果要保存,就注释掉显示方法吧

看看效果吧:

这是底照
在这里插入图片描述
这是词云效果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值