wordcloud的使用

wordcloud的使用_第1张图片

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')

wordcloud的使用_第2张图片

特定图形的词云

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

你可能感兴趣的:(python爬虫,数据分析,数据挖掘,python)