wordcloud的一些小操作笔记

用wordcloud来实现数据可视化

这里需要自己的一个数据库,这个数据库呢是经典的豆瓣250的信息

# @Project  :flasdemo
# @File     :testCloud
# @Date     :2020/12/5 15:37
# @Author   :上官豪
# @Email    :
# @Software :PyCharm

import jieba     #分词
from matplotlib import pyplot as plt    #绘图,数据可视化
from wordcloud import WordCloud   #词云
from PIL import Image
import numpy as np
import sqlite3

#准备
con = sqlite3.connect('movie250.db')#连接同一路径下的数据库
cur = con.cursor()
spl = 'select introduction from m'#从m表格中获取introduction的一些信息
data = cur.execute(spl)
text = ""
for item in data:
    text = text + item[0]
    #print(item[0])   #可以测试是否拆分成功
cur.close()
con.close()

#分词
cut = jieba.cut(text)
string = ','.join(cut)      #这个就是在拆分的词旁边加上分隔符

img = Image.open(r'.\static\qq.jpg')#打开遮罩图片
img_array = np.array(img)
wc = WordCloud(
    background_color='white',#背景色
    mask=img_array,#图片数组信息
    font_path="方正粗黑宋简体.ttf"#显示的字体样式,可在Windows\Fonts找到字体
)#封装好一个对象

wc.generate_from_text(string)

#绘制图片
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off')
#plt.imshow()函数负责对图像进行处理,并显示其格式,
#而plt.show()则是将plt.imshow()处理后的函数显示出来。
#plt.show() #注意show里面没有参数
plt.savefig(r'.\static\word.png',dpi=500)

遮罩图片:
在这里插入图片描述

重点来了:如果同时使用的show函数和savefig函数,save的图片就是这样
在这里插入图片描述
把plt.show()注释掉,显示就是这样
在这里插入图片描述
我也不知道原因是什么,希望能获得答案

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值