wordcloud的使用

本文介绍了如何使用Python的wordcloud库创建词云图,包括导入相关库、设置词云参数、从文本生成词云并保存为图片,还展示了结合jieba分词和数据库数据的实例。通过词云形式,直观展示文本数据的重点内容。
摘要由CSDN通过智能技术生成

wordcloud就是使用python将关键字词展示在图片上,主要可以用于数据分析,数据可视化中。

1、导入相关联的包

import jieba             #把一句话分成单个的词
from PIL import Image    #图片处理
import wordcloud         #词云模块
import numpy as np       #将图片转为数组

这些我都是能直接在pycharm中安装的,如果安装失败。看看这篇博客。

https://blog.csdn.net/qq_46092061/article/details/119274128

2、wordcloud介绍

  • 词云又叫文字云,是对文本数据中出现频率较高的”关键词“在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思。
  • wordcloud 是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展现文本

wordcloud对象参数

background_color

图片的背景颜色,默认是黑色

wc = wordcloud.WordCloud(background_color = 'white')
width

图片的宽度,默认是400像素

wc = wordcloud.WordCloud(width=1000)

height

图片的高度,默认是200像素

wc = wordcloud.WordCloud(height=700)

min_font_size

词云中最小字的字体,默认4号

wc = wordcloud.WordCloud(min_font_size=6)

max_font_size

词云中最大字的字体,根据高度自动调节

wc = wordcloud.WordCloud(min_font_size=24)

font_path

词云字体样式的路径,msyh.ttc为微软雅黑

wc=wordcloud.WordCloud(font_path="msyh.ttc")

max_words

词云显示最大单词数量,默认200

wc=wordcloud.WordCloud(max_words=500)

stopwords

词云的排除词列表,即不显示的单词列表

wc=wordcloud.WordCloud(stopwords={"的","了"})

mask

词云形状,默认为长方形,使用时将图片转换成数组

import numpy as np 

img = Image.open(r'.\static\file\img\tree1.jpg')       #打开指定图片 img_array = np.array(img)                               #讲图片转换为数组

wc=wordcloud.WordCloud(mask=img_array )

wc.generate(content) #从文本生成词云
wc.to_file(r'.\static\file\img\cloud.jpg')  #导出图像文件

3、wordcloud的使用 

简单示例

    import wordcloud


    content = "To see a world in a grain of sand,and a heaven in a wild flower"

    # 把词云当做一个对象
    wc = wordcloud.WordCloud(background_color="white",
                             font_path="msyh.ttc")
    wc.generate(content)
    wc.to_file(r'.\static\file\img\cloud.jpg')

特定图形的词云

import jieba
from PIL import Image
import wordcloud
import numpy as np
import mysql.connector

#数据库取词
    conn = mysql.connector.connect(
        host='localhost',
        user='root',
        password='',
        database='',
        port=3306,
        charset='utf8'
    )
    cur = conn.cursor()
    sql = 'select quote from movies'
    cur.execute(sql)
    data = cur.fetchall()
    text = ""
    for item in data:
        text = text + item[0]
    cur.close()
    conn.close()


#如果不需要使用数据库,就直接把文本交给jieba分词。



#精确模式lcut(),试图将句子最精确地切开,适合文本分析,单词无冗余
    cut = jieba.lcut(text)
    string = ' '.join(cut)   #单引号中间有空格

    img = Image.open(r'.\static\file\img\tree1.jpg') #打开遮罩图片
    img_array = np.array(img)                        #讲图片转换为数组
    wc = wordcloud.WordCloud(
        background_color = 'white',
        mask = img_array,
        #字体所在电脑位置:C:\Windows\Fonts,如果要用中文就必须使用中文字体
        font_path = "msyh.ttc" ,    
        height=700,
        width=1000,
        stopwords={"的","了","是","你","在","和","才"},#去除不需要的字词
        max_words = 1200
    )
    wc.generate_from_text(string)
    wc.to_file(r'.\static\file\img\cloud.png')

 

 其实wordcloud还有很多其他的参数和使用方法,大家感兴趣可以去官网上查看。

https://amueller.github.io/word_cloud/generated/wordcloud.WordCloud.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值