词云可视化(摘录)

12 篇文章 4 订阅
订阅专栏

本课概要

词云是文本大数据可视化的重要方式,可以将大段文本中的关键语句和词汇高亮展示。

从四行代码开始,一步步教你做出高大上的词云图片,可视化生动直观展示出枯燥文字背后的核心概念。进一步实现修改字体、字号、背景颜色、词云形状、勾勒边框、颜色渐变、分类填色、情感分析等高级玩法。

学完本课之后,你可以将四大名著、古典诗词、时事新闻、法律法规、政府报告、小说诗歌等大段文本做成高大上的可视化词云,还可以将你的微信好友个性签名导出,看看你微信好友的“画风”是怎样的。

三国演艺词云

从远古山洞壁画到微信表情包,人类千百年来始终都是懒惰的视觉动物。连篇累牍的大段文本会让人感到枯燥乏味。在这个“颜值即正义”的时代,大数据更需要“颜值”才能展现数据挖掘的魅力。

对于编程小白,学会此技可以玩转文本,入门中文分词、情感分析。对于编程高手,通过本课可以进一步熟悉Python的开源社区、计算生态、面向对象,自定义自己专属风格的词云。

词云的应用场景

  • 会议记录
  • 海报制作
  • PPT制作
  • 生日表白
  • 数据挖掘
  • 情感分析
  • 用户画像
  • 微信聊天记录分析
  • 微博情感分析
  • Bilibili弹幕情感分析
  • 年终总结

安装本课程所需的Python第三方模块

一行命令安装(推荐,适用于99.999%的情况)

打开命令行,输入下面这行命令,回车执行即可。

pip install numpy matplotlib pillow wordcloud imageio jieba snownlp itchat -i https://pypi.tuna.tsinghua.edu.cn/simple

如果安装过程中报错(0.001%会发生)

如果报错:Microsoft Visual C++ 14.0 is required.

解决方法:

到 http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 页面下载所需的wordcloud模块的.whl文件,再用pip安装下载的文件。

比如,对于64位windows操作系统,python版本为3.6的电脑,就应该下载

wordcloud-1.4.1-cp36-cp36m-win_amd64.whl这个文件

下载后打开命令行,使用cd命令切换到该文件的路径,执行pip install wordcloud-1.4.1-cp36-cp36m-win_amd64.whl命令,即可安装成功。

四行Python代码上手词云制作

1号词云:《葛底斯堡演说》黑色背景词云(4行代码上手)

# 导入词云制作第三方库wordcloud
import wordcloud
# 创建词云对象,赋值给w,现在w就表示了一个词云对象
w = wordcloud.WordCloud()
# 调用词云对象的generate方法,将文本传入
w.generate('and that government of the people, by the people, for the people, shall not perish from the earth.')
# 将生成的词云保存为output1.png图片文件,保存出到当前文件夹中
w.to_file('output1.png')

运行完成之后,在代码所在的文件夹,就会出现output.png图片文件。可以看出,wordcloud自动将and that by the not from等废话词组过滤掉,并且把出现次数最多的people大号显示。
1号词云:葛底斯堡演说黑色背景词云
wordcloud库为每一个词云生成一个WordCloud对象(注意,此处的W和C是大写)

也就是说,wordcloud.WordCloud()代表一个词云对象,我们将它赋值给w

现在,这个w就是词云对象啦!我们可以调用这个对象。

我们可以在WordCloud()括号里填入各种参数,控制词云的字体、字号、字的颜色、背景颜色等等。

wordcloud库会非常智能地按空格进行分词及词频统计,出现次数多的词就大。

美化词云

2号词云:面朝大海,春暖花开(配置词云参数)

增加宽、高、字体、背景颜色等参数

# 2号词云:面朝大海,春暖花开
import wordcloud
# 构建词云对象w,设置词云图片宽、高、字体、背景颜色等参数
w = wordcloud.WordCloud(width=1000,height=700,background_color='white',font_path='msyh.ttc')
# 调用词云对象的generate方法,将文本传入
w.generate('从明天起,做一个幸福的人。喂马、劈柴,周游世界。从明天起,关心粮食和蔬菜。我有一所房子,面朝大海,春暖花开')
# 将生成的词云保存为output2-poem.png图片文件,保存到当前文件夹中
w.to_file('output2-poem.png')

2号词云:面朝大海,春暖花开

如果参数过多,第二行写成长长的一行不好看,可以写成多行,让代码更工整

# 2号词云:面朝大海,春暖花开
import wordcloud
# 构建词云对象w,设置词云图片宽、高、字体、背景颜色等参数
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')
w.generate('从明天起,做一个幸福的人。喂马、劈柴,周游世界。从明天起,关心粮食和蔬菜。我有一所房子,面朝大海,春暖花开')
w.to_file('output2-poem.png')

常用参数

  • width 词云图片宽度,默认400像素

  • height 词云图片高度 默认200像素

  • background_color 词云图片的背景颜色,默认为黑色

    background_color='white'

  • font_step 字号增大的步进间隔 默认1号

    font_path 指定字体路径 默认None,对于中文可用font_path='msyh.ttc'

  • mini_font_size 最小字号 默认4号

  • max_font_size 最大字号 根据高度自动调节

  • max_words 最大词数 默认200

  • stop_words 不显示的单词 stop_words={"python","java"}

  • Scale 默认值1。值越大,图像密度越大越清晰

  • prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?

  • relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍

  • mask 指定词云形状图片,默认为矩形

    通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)

import imageio
mk = imageio.imread("picture.png")
w = wordcloud.WordCloud(mask=mk)

也就是说,我们可以这样来构建词云对象w,其中的参数均为常用参数的默认值,供我们自定义:

w = wordcloud.WordCloud(      
    width=400,
    height=200,
    background_color='black',
    font_path=None, 
    font_step=1,
    min_font_size=4,
    max_font_size=None,
    max_words=200,
    stopwords={},
    scale=1,
    prefer_horizontal=0.9,
    relative_scaling=0.5,
    mask=None) 

从外部文件读入文本

3号词云:乡村振兴战略中央文件(句子云)

import wordcloud
# 从外部.txt文件中读取大段文本,存入变量txt中
f = open('关于实施乡村振兴战略的意见.txt',encoding='utf-8')
txt = f.read()
# 构建词云对象w,设置词云图片宽、高、字体、背景颜色等参数
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')
# 将txt变量传入w的generate()方法,给词云输入文字
w.generate(txt)
# 将词云图片导出到当前文件夹
w.to_file('output3-sentence.png')

3号词云:乡村振兴战略中央文件

中文分词

中文分词第三方模块jieba

中文分词-小试牛刀

安装中文分词库jieba:在命令行中输入pip install jieba

打开python的交互式shell界面,也就是有三个大于号>>>的这个界面,依次输入以下命令。

>>> import jieba
>>> textlist = jieba.lcut('动力学和电磁学')
>>> textlist
['动力学', '和', '电磁学']
>>> string = " ".join(textlist)
>>> string
'动力学 和 电磁学'

以上代码将一句完整的中文字符串转换成了以空格分隔的词组成的字符串,而后者是绘制词云时generate()方法要求传入的参数。

中文分词库jieba的常用方法

精确模式(最常用,只会这个就行):每个字只用一遍,不存在冗余词汇。jieba.lcut('动力学和电磁学')

全模式:把每个字可能形成的词汇都提取出来,存在冗余。jieba.lcut('动力学和电磁学',cut_all=True)

搜索引擎模式:将全模式分词的结果从短到长排列好。jieba.lcut_for_search('动力学和电磁学')

以下命令演示了三种分词模式及结果,精确模式是最常用的。

>>> import jieba
>>> textlist1 = jieba.lcut('动力学和电磁学')
>>> textlist1
['动力学', '和', '电磁学']
>>> textlist2 = jieba.lcut('动力学和电磁学',cut_all=True)
>>> textlist2
['动力', '动力学', '力学', '和', '电磁', '电磁学', '磁学']
>>> textlist3 = jieba.lcut_for_search('动力学和电磁学')
>>> textlist3
['动力', '力学', '动力学', '和', '电磁', '磁学', '电磁学']

4号词云:斯坦森介绍词云(中文分词)

# 4号词云:斯坦森介绍词云
# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 构建并配置词云对象w
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')
# 调用jieba的lcut()方法对原始文本进行中文分词,得到string
txt = '杰森·斯坦森,英文名Jason Statham,1967年7月26日在英国伦敦出生,是美国著名的影视男演员,在1998年因为出演了电影《两杆大烟枪》中的男一号,而宣布进入演艺圈。'
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output4-Statham.png')

在这里插入图片描述

5号词云:乡村振兴战略中央文件(词云)

# 5号词云:乡村振兴战略中央文件(词云)
# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 构建并配置词云对象w
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc')
# 对来自外部文件的文本进行中文分词,得到string
f = open('关于实施乡村振兴战略的意见.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output5-village.png')

5号词云:乡村振兴战略中央文件(词云)# 高级词云:绘制指定形状的词云

通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)

import imageio
mk = imageio.imread("picture.png")
w = wordcloud.WordCloud(mask=mk)

6号词云:乡村振兴战略中央文件(五角星形状)

# 6号词云:乡村振兴战略中央文件(五角星形状)
# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("wujiaoxing.png")
w = wordcloud.WordCloud(mask=mk)
# 构建并配置词云对象w,注意要加scale参数,提高清晰度
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15)
# 对来自外部文件的文本进行中文分词,得到string
f = open('关于实施乡村振兴战略的意见.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output6-village.png')

6号词云:乡村振兴战略中央文件(五角星)

7号词云:新时代中国特色社会主义(中国地图形状)

# 7号词云:新时代中国特色社会主义(中国地图形状)
# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("chinamap.png")
w = wordcloud.WordCloud(mask=mk)
# 构建并配置词云对象w,注意要加scale参数,提高清晰度
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15)
# 对来自外部文件的文本进行中文分词,得到string
f = open('新时代中国特色社会主义.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output7-chinamap.png')

加scale参数为15的效果

7号词云:新时代中国特色社会主义(中国地图形状)

不加scale参数的效果,稍显模糊

中国地图词云

8号词云:《三国演义》词云(stopwords参数去除词)

# 8号词云:《三国演义》词云(stopwords参数去除“曹操”和“孔明”两个词)
# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("chinamap.png")
# 构建并配置词云对象w,注意要加stopwords集合参数,将不想展示在词云中的词放在stopwords集合里,这里去掉“曹操”和“孔明”两个词
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15,
                        stopwords={'曹操','孔明'})
# 对来自外部文件的文本进行中文分词,得到string
f = open('threekingdoms.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output8-threekingdoms.png')

三国演艺词云

9号词云:《哈姆雷特》(勾勒轮廓线)

# 9号词云:哈姆雷特(勾勒轮廓线)
# 导入词云制作库wordcloud
import wordcloud
# 将外部文件包含的文本保存在string变量中
string = open('hamlet.txt').read()
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("alice.png")
# 构建词云对象w,注意增加参数contour_width和contour_color设置轮廓宽度和颜色
w = wordcloud.WordCloud(background_color="white",
                        mask=mk,
                        contour_width=1,
                        contour_color='steelblue')
# # 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('output9-contour.png')

8号词云:哈姆雷特(勾勒轮廓线)

10号词云:《爱丽丝漫游仙境》词云(按模板填色)

# 10号词云:《爱丽丝漫游仙境》词云(按模板填色)
# 导入绘图库matplotlib和词云制作库wordcloud
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
# 将外部文件包含的文本保存在text变量中
text = open('alice.txt').read()
# 导入imageio库中的imread函数,并用这个函数读取本地图片queen2.jfif,作为词云形状图片
import imageio
mk = imageio.imread("alice_color.png")
# 构建词云对象w
wc = WordCloud(background_color="white",
               mask=mk,)
# 将text字符串变量传入w的generate()方法,给词云输入文字
wc.generate(text)
# 调用wordcloud库中的ImageColorGenerator()函数,提取模板图片各部分的颜色
image_colors = ImageColorGenerator(mk)
# 显示原生词云图、按模板图片颜色的词云图和模板图片,按左、中、右显示
fig, axes = plt.subplots(1, 3)
# 最左边的图片显示原生词云图
axes[0].imshow(wc)
# 中间的图片显示按模板图片颜色生成的词云图,采用双线性插值的方法显示颜色
axes[1].imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
# 右边的图片显示模板图片
axes[2].imshow(mk, cmap=plt.cm.gray)
for ax in axes:
    ax.set_axis_off()
plt.show()
# 给词云对象按模板图片的颜色重新上色
wc_color = wc.recolor(color_func=image_colors)
# 将词云图片导出到当前文件夹
wc_color.to_file('output10-alice.png')

10号词云:《爱丽丝漫游仙境》词云(勾勒轮廓线)

image.png

加模板图片颜色的词云

进阶词云:尽享数据驱动与开源社区

11号词云:绘制你的微信好友个性签名词云

# 11号词云:绘制你的微信好友个性签名词云
# 导入微信库ichat,中文分词库jieba
import itchat
import jieba
# 先登录微信,跳出登陆二维码
itchat.login()
tList = []
# 获取好友列表
friends = itchat.get_friends(update=True)
# 构建所有好友个性签名组成的大列表tList
for i in friends:
    # 获取个性签名
    signature = i["Signature"]
    if 'emoji' in signature:
        pass
    else:
        tList.append(signature)
text = " ".join(tList)
# 对个性签名进行中文分词
wordlist_jieba = jieba.lcut(text, cut_all=True)
wl_space_split = " ".join(wordlist_jieba)
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("chinamap.png")
# 导入词云制作库wordcloud
import wordcloud
# 构建并配置词云对象w,注意要加scale参数,提高清晰度
my_wordcloud = wordcloud.WordCloud(background_color='white',
                                   width=1000,
                                   height=700,
                                   font_path='msyh.ttc',
                                   max_words=2000,
                                   mask=mk,
                                   scale=20)
my_wordcloud.generate(wl_space_split)
nickname = friends[0]['NickName']
filename = "output11-{}的微信好友个性签名词云图.png".format(nickname)
my_wordcloud.to_file(filename)
# 显示词云图片
import matplotlib.pyplot as plt
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
print('程序结束')

微信好友个性签名词云

文字情感分析与文本挖掘

Python中文语言处理第三方库snownlp小试牛刀

安装中文文本分析库snownlp:在命令行中输入pip install snownlp

打开python的交互式shell界面,也就是有三个大于号>>>的这个界面,依次输入以下命令。

>>> import snownlp
>>> word = snownlp.SnowNLP("中华民族伟大复兴")
>>> feeling = word.sentiments
>>> feeling
0.9935086411278989
>>> word = snownlp.SnowNLP("快递慢到死,客服态度不好,退款!")
>>> feeling = word.sentiments
>>> feeling
0.00012171645785852281

snownlp的语料库是淘宝等电商网站的评论,所以对购物类的文本情感分析准确度很高。
一键执行的详细脚本文件详见 github代码库-zihaowordcloud中的test2-snownlp.py文件。

12号词云:《三体Ⅱ黑暗森林》情感分析词云

# 12号词云:《三体Ⅱ黑暗森林》情感分析词云
# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("chinamap.png")
# 构建并配置两个词云对象w1和w2,分别存放积极词和消极词
w1 = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15)
w2 = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15)
# 对来自外部文件的文本进行中文分词,得到积极词汇和消极词汇的两个列表
f = open('三体黑暗森林.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
positivelist = []
negativelist = []
# 下面对文本中的每个词进行情感分析,情感>0.96判为积极词,情感<0.06判为消极词
print('开始进行情感分析,请稍等,三国演义全文那么长的文本需要三分钟左右')
# 导入自然语言处理第三方库snownlp
import snownlp
for each in txtlist:
    each_word = snownlp.SnowNLP(each)
    feeling = each_word.sentiments
    if feeling > 0.96:
        positivelist.append(each)
    elif feeling < 0.06:
        negativelist.append(each)
    else:
        pass
# 将积极和消极的两个列表各自合并成积极字符串和消极字符串,字符串中的词用空格分隔
positive_string = " ".join(positivelist)
negative_string = " ".join(negativelist)
# 将string变量传入w的generate()方法,给词云输入文字
w1.generate(positive_string)
w2.generate(negative_string)
# 将积极、消极的两个词云图片导出到当前文件夹
w1.to_file('output12-positive.png')
w2.to_file('output12-negative.png')
print('词云生成完成')

《三体Ⅱ黑暗森林 积极词汇词云和消极词汇词云》

13号词云:《三国演义》人物阵营分色词云

# 13号词云:三国人物阵营分色词云
# B站专栏:同济子豪兄 2019-5-23
# 导入wordcloud库,并定义两个函数
from wordcloud import (WordCloud, get_single_color_func)
class SimpleGroupedColorFunc(object):
    """Create a color function object which assigns EXACT colors
       to certain words based on the color to words mapping
       Parameters
       ----------
       color_to_words : dict(str -> list(str))
         A dictionary that maps a color to the list of words.
       default_color : str
         Color that will be assigned to a word that's not a member
         of any value from color_to_words.
    """
    def __init__(self, color_to_words, default_color):
        self.word_to_color = {word: color
                              for (color, words) in color_to_words.items()
                              for word in words}
        self.default_color = default_color
    def __call__(self, word, **kwargs):
        return self.word_to_color.get(word, self.default_color)
class GroupedColorFunc(object):
    """Create a color function object which assigns DIFFERENT SHADES of
       specified colors to certain words based on the color to words mapping.
       Uses wordcloud.get_single_color_func
       Parameters
       ----------
       color_to_words : dict(str -> list(str))
         A dictionary that maps a color to the list of words.
       default_color : str
         Color that will be assigned to a word that's not a member
         of any value from color_to_words.
    """
    def __init__(self, color_to_words, default_color):
        self.color_func_to_words = [
            (get_single_color_func(color), set(words))
            for (color, words) in color_to_words.items()]
        self.default_color_func = get_single_color_func(default_color)
    def get_color_func(self, word):
        """Returns a single_color_func associated with the word"""
        try:
            color_func = next(
                color_func for (color_func, words) in self.color_func_to_words
                if word in words)
        except StopIteration:
            color_func = self.default_color_func
        return color_func
    def __call__(self, word, **kwargs):
        return self.get_color_func(word)(word, **kwargs)
    
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("chinamap.png")
w = WordCloud(width=1000,
              height=700,
              background_color='white',
              font_path='msyh.ttc',
              mask=mk,
              scale=15,
              max_font_size=60,
              max_words=20000,
              font_step=1)
import jieba
# 对来自外部文件的文本进行中文分词,得到string
f = open('三国演义.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 创建字典,按人物所在的不同阵营安排不同颜色,绿色是蜀国,橙色是魏国,紫色是东吴,粉色是诸侯群雄
color_to_words = {
    'green': ['刘备','刘玄德','孔明','诸葛孔明', '玄德', '关公', '玄德曰','孔明曰',
              '张飞', '赵云','后主', '黄忠', '马超', '姜维', '魏延', '孟获',
              '关兴','诸葛亮','云长','孟达','庞统','廖化','马岱'],
    'red': ['曹操', '司马懿', '夏侯', '荀彧', '郭嘉','邓艾','许褚',
            '徐晃','许诸','曹仁','司马昭','庞德','于禁','夏侯渊','曹真','钟会'],
    'purple':['孙权','周瑜','东吴','孙策','吕蒙','陆逊','鲁肃','黄盖','太史慈'],
    'pink':['董卓','袁术','袁绍','吕布','刘璋','刘表','貂蝉']
}
# 其它词语的颜色
default_color = 'gray'
# 构建新的颜色规则
grouped_color_func = GroupedColorFunc(color_to_words, default_color)
# 按照新的颜色规则重新绘制词云颜色
w.recolor(color_func=grouped_color_func)
# 将词云图片导出到当前文件夹
w.to_file('output13-threekingdoms.png')

13号词云:《三国演义》人物阵营分色词云

参考资料与扩展阅读

翻译:WorldCloud()官方使用说明 & matplotlib.pyplot.imshow()官方使用说明

Python语言程序设计MOOC 北京理工大学 嵩天

python123:你不知道的词云

文本素材来源

  • 《哈姆雷特(英文版)》全文: https://python123.io/resources/pye/hamlet.txt
  • 《三国演义》全文: https://python123.io/resources/pye/threekingdoms.txt
  • 《新时代中国特色社会主义》全文: https://python123.io/resources/pye/新时代中国特色社会主义.txt
  • 《关于实施乡村振兴战略的意见》全文: https://python123.io/resources/pye/关于实施乡村振兴战略的意见.txt
【收藏】如何用Python进行文本词云可视化
DZ Space
06-30 3451
文本词云可视化的流程主要有:文本获取、词组生成,停用词定义、词云出图。这篇文章将依次介绍文本获取可以通过网页爬虫、自定义文本等方式获得,将文本存放于一个txt文件内方便程序读取文本对于中文文本,主要使用python 中的jieba库进行中文文本分词,jieba库的介绍可见Python jieba中文分词库介绍。获取到词组之后,经常会有一些我们不需要的词语会出现在词组里面,这里我们可以定义停用词来把它们去除词云出图最普遍使用的是WordCloud 库,wordcloud.WordCloud这个函数就实现了丰富
可视化词云实现
DomMayer's paradox的博客
03-02 999
wordcloud库概述 wordcloud库是专门用于根据文本生成的词云的Python第三方库,十分常用且有趣。 wordcloud库需要由pip安装。 wordcloud库的核心是WordCloud类,所有的功能都封装在WordCloud类中,使用时需要实例化一个WordCloud类对象,并调用其generate(text)方法将text文本转化为词云。WordCloud类在创建时有一系列可选...
Python词云可视化
weixin_45451726的博客
09-08 719
步骤一: 引入 所需要的模块; import matplotlib.pyplot as plt from wordcloud import WordCloud # 引入词云 import numpy as np from PIL import Image 步骤二: 添加所需要的文件及实现效果; text = "" with open('alice.txt', 'r') as fp: t...
六、数据可视化—Wordcloud词云(爬虫及数据可视化
最新发布
qq_44870829的博客
07-08 632
wordcloud
数据可视化——词云可视化
lw03060402的博客
07-01 1551
对不同年份、不同会议的论文关键词进行词云可视化。 创新实训记录9数据预处理可视化 数据预处理 首先根据数据集生成所需要的年份列表、会议列表、关键词列表。 # 年份列表 file_years = 'D:/大学资料/大三下/项目实训/code+data/ACM数据集/years.txt' fyears = open(file_years,'r') years = [] for line in fyears: year = line.strip() years.append(year) print
词云可视化工具
weixin_30640769的博客
11-22 171
词云可视化工具  Tagul:https://tagul.com/  Tagxedo:http://www.tagxedo.com/  Wordle:http://www.wordle.net/  WordItOut:http://worditout.com/  ToCloud:http://www.tocloud.com/  Rost:http://www.cncrk.com/downinfo/...
Python可视化词云
weixin_44373865的博客
11-22 1048
话不多说,直接上干货。 import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt import numpy as np from PIL import Image data=[]#存储原始数据 stopword={}#停用词 words={}#存储词汇:词频对
词云可视化pbiviz文件.rar
04-18
词云可视化是一种流行的数据可视化技术,它以云状的形式展示大量文本数据,通过调整词语的大小和排列方式来直观地反映出各个词汇在数据集中的相对重要性。在Power BI中,这种可视化效果可以通过使用pbiviz(Power BI...
基于纽约Airbnb房源信息实现的数据可视化和房价预测项目python源码+文档说明+数据预处理,可视化词云可视化+数据集
01-16
基于纽约Airbnb房源信息的数据可视化和房价预测项目python源码+文档说明+数据预处理,可视化词云可视化+数据集 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行...
数据可视化-python生成词云可视化图表
02-08
Python作为一门强大且易学的编程语言,提供了丰富的库用于数据可视化,使得非专业程序员也能轻松生成各种图表,如词云、柱状图和饼图。 在Python中,生成词云图片最常用的库是`wordcloud`。词云是一种直观展示文本...
3D词云大数据可视化效果
04-24
"3D词云大数据可视化效果"是一个创新且引人入胜的技术应用,它结合了数据科学与艺术,使得海量信息以更直观的方式呈现。 词云,又称为文字云或标签云,是一种数据可视化技术,它通过以不同大小的字体显示单词来表示...
【数据挖掘 | 可视化】 WordCloud 词云(附详细代码案例)
计算机魔术师的blog
10-24 6786
在七夕节中,博主写了一篇为女友收集QQ聊天记录做可视化词云的文章获得广泛好评,一直有小伙伴希望能出一篇教程,今天他来啦! 一文带你速通词云🙋‍♂ 一、安装wordcloud 二、一个简单的词云 三、优化词云 四、中文版词云4.1colormap 修改主色调 4.2修改部分字体的颜色 五、自定义轮廓(根据图片)5.1添加边框和边框颜色 5.2保存图片🎉 5.3修改图片背景为透明色 六、处理大块文本6.1处理分词后的字符串
用 Python 实现词云可视化!超级简单,一看就会!
爬遍所有网站
04-10 4973
词云是一种非常漂亮的可视化展示方式,正所谓一图胜过千言万语,词云在之前的项目中我也有过很多的使用,可能对于我来说,一种很好的自我介绍方式就是词云吧,就像下面这样的: 个人觉还是会比枯燥的文字语言描述性的介绍会更吸引人一点吧。 今天不是说要怎么用词云来做个人介绍,而是对工作中使用到比较多的词云计较做了一下总结,主要是包括三个方面: 1、诸如上面的简单形式矩形词云 2、基于背景图片数据来构...
ECharts 数据可视化 --词云
wqqstudy的博客
05-14 2302
利用2019年10月全球编程语言的TIOBE排名数据展现其中的文本信息 ECharts 数据可视化 --词云
python可视化词云
疾风晓月的博客
08-10 1108
完整代码 # -*- coding: utf-8 -*- from os import path import matplotlib.pyplot as plt from scipy.misc import imread import jieba from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator d = path...
【数据可视化】利用 WordCloud 制作词云
书山有路,学海无涯。记录成长,追逐梦想
03-20 6925
利用 WordCloud 制作词云
沈浩老师:词云可视化词云制作
麦田守望者
11-13 4463
转载自http://www.itongji.cn/article/041219362013.html 近日在微博上大家都在问《个性化词云》制作方法。下面简单介绍实现步骤和思路: 随着微博研究的深入,社会网络分析和可视化技术的需要,面临中文处理问题,开始钻研文本挖掘的问题,过去的传统的数据挖掘一直研究的是结构化数据,文本挖掘和意见挖掘涉及内容更多,特别是中文处理是不可逾越的障碍! 注:
酷炫多彩的个性化词云可视化
Together_CZ的博客
10-30 590
酷炫多彩的个性化词云可视化
在tagxedo.com在线制作可视化词云
Andy_Henry的专栏
05-16 3322
1、R语言中使用wordcloud包可以制作词云,但是效果较差。单纯的tong'ji
词云可视化python
09-02
词云可视化是一种非常漂亮的数据展示方式,通过词云可以将文本中的关键词以视觉的方式呈现出来。在Python中,有一个非常流行的第三方库叫做wordcloud可以用来生成词云图。你可以使用简短的几行代码就能够实现词云可视化词云可视化的好处在于,它可以帮助我们直观地了解文本中的关键词和频率,从而更好地理解和分析文本内容。它可以用于文本挖掘、情感分析、主题分析等各种应用场景。 对于编程新手来说,学会使用Python进行词云可视化可以是一个很好的入门项目。你可以学会如何处理文本、中文分词以及通过词云图展示文本中的关键词。对于有经验的编程专家来说,词云可视化可以帮助他们进一步熟悉Python的开源社区和计算生态,同时也可以通过自定义词云的样式和参数来展示个人风格。 总结来说,词云可视化是一种强大而美观的数据展示方式,在Python中使用wordcloud库可以轻松实现。它可以帮助我们更好地理解和分析文本内容,同时也是学习Python和文本处理的一个很好的入门项目。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [词云可视化:四行Python代码轻松上手到精通](https://blog.csdn.net/qq_41822781/article/details/90671050)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [用 Python 实现词云可视化](https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/104604193)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
写文章

热门文章

  • 银行家算法详解(C语言) 27701
  • 快表、页表和cache之间的关系 18401
  • 软件工程导论-Gantt图和工程网络图 13895
  • 电脑钉钉直播如何静音 12630
  • OpenStack平台超详细搭建步骤(先电版--附镜像文件) 12377

分类专栏

  • 工作笔记 6篇
  • 考试
  • 数据结构 7篇
  • 操作系统 14篇
  • 计算机组成原理 18篇
  • Spring框架知识 9篇
  • 408真题 17篇
  • 计算机网络 12篇
  • java 37篇
  • 考研数学 24篇
  • 考研英语 4篇
  • C语言 11篇
  • 信息系统项目管理师 4篇
  • 大数据 34篇
  • 笔记 10篇
  • 算法 125篇
  • 技术 7篇
  • 知识点总结 16篇
  • 廖雪峰爬虫笔记 12篇

最新评论

  • 408中数据的表示和运算【超强总结】

    做而论道_CS: 由补码换算到十进制数,也极其简单。 你只需记住:【补码首位的权,是负数】。 一般的八位二进制数,各个位的权是:   128、64、32、16、8、4、2、1; 如果是八位的补码,各个位的权则是:  -128、64、32、16、8、4、2、1。   例如,有一个补码:1110 0001, 它代表的十进制是:-128 + 64 + 32 + 1= -31。 再看,另一个补码:0110 0001, 它代表的十进制是:0 + 64 + 32 + 1 = +97。 仅仅使用【进制转换】,不就完事了! ---------------------- 那么,所谓的:  机器数真值符号位原码反补码正数三码与正数相同  负数取反加一符号位不变符号位也参加运算模同余 ... 这一大堆乱七八糟的概念,不都是垃圾嘛! 进位,是小学二年级的知识点吧?  舍弃进位,很难理解吗?  老外竟然能弄出那么大一堆概念!  老外的数学水平,由此可见一斑。 我们的计算机老师,数学水平也太洼,看不透进位的事。  捡个鞋拔子就当成玉如意了。   就知道跟风,带着学生往坑里跳! 在大学里面,一天一天的,兜着圈子讲小学的知识。  甚至还把这些垃圾,弄成考研的内容!   天天蒙骗学生,自己赚取名声和丰厚的讲课费。    真是毁人不倦坑人不浅!     顺便还能抓几个学生挂科,抖一下威风! 现在知道我们缺芯片用的原因了吧!

  • 408中数据的表示和运算【超强总结】

    做而论道_CS: 取反加一,也就是一个【障眼法】而已。 补码,它只不过是一个【代替负数】的正数。 其实,任何进制,都有“补码”的。 你看十进制,两位数,就是:0 ~ 99。 可以有:27 + 99 = (一百) 26 也可以:27 - 1 = 26 如果你忽略进位,依然保持两位数,那么:  正数,就能当负数来用;  加法,也就能完成减法运算。 如果在计算机舍弃进位,会怎样?  计算机中,就全是正数了。  负数没有了,减法运算也没有了。  减法器,也就没有了用武之地。  计算机只需配置一个加法器,便可横行天下! ---------------------- 看到了吗?  只要你舍弃了进位,正数就能代替负数! 补码,并不是来自取反加一。 【舍弃进位】,才是补码的来源和存在意义! ---------------------- 两位十进制时,舍弃进位,就是减去一百 (10^2)。 那么,加上 99,再减去 100,必然就是“-1 ”! 八位二进制数:0000 0000 ~ 1111 1111。 换算到十进制:0 ~ 255。 出现进位,即:2^8 = 256。 那么,加上 255 (1111 1111),再减 256,不也是-1 吗? 同理,254 (1111 1110),就能代替-2。    253 (1111 1101),就是-3 了。 。。。 最后,128 (1000 0000),即为-128。 这些个正数,就是计算机专家 “发明” 的补码。 ---------------------- 其实,补码,不需要谁来发明! 当你舍弃了进位,补码自然而然就出来了, 【舍弃进位】,这不过就是小学的知识点。 计算机专家,却弄不明白这个。 于是,就编造了一批垃圾:  机器数真值原码反码取反加一符号位不变模符号位也参加运算... 谁要是跟老外学算术,立刻、马上,直接就掉沟里去了!

  • 函数调用的机器级表示

    没有对象的野指针2: 非常好表情包,省去了看视频的时间

  • 软件工程导论-Gantt图和工程网络图

    镁铂钰: 你少管

  • 软件工程导论-Gantt图和工程网络图

    MONKEYPI: 多学习吧

最新文章

  • 栈、队列、矩阵的总结
  • 考试试卷1111
  • 函数调用的机器级表示
2023年8篇
2022年64篇
2021年85篇
2020年206篇
2019年2篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sparky*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳SEO优化公司徐州专业网站优化南安网站优化公司网站优化的价格东莞网站优化效果宣城网站优化费用网站加速优化插件汉化网站权重优化技巧钱库网站优化哪家好网站架构优化技巧网站优化行业电商怎么优化网站内链优化对网站有用吗网站优化做些什么广东手机网站百度推广优化扬中网站优化价格邯郸网站优化推广方案网站优化与推广去哪申请博客优化网站网站优化入门湖南网站优化收费网站结构优化的具体步骤建筑网站优化方案书网站外优化泉州seo网站优化网站指定关键词优化海口网站关键词优化推广做神马网站优化快速排名软件怀柔网站关键字优化价格四平网站优化怎么选网站流量优化是什么歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化