利用python绘制简易词云图(使用jieba进行中文分词)
词云(wordcloud)图能过滤掉大量的文本信息,使我们能抓住问题的集中点(一般集中点就是经常提到的点,也就是词频数会比较高)。其实制作词云没什么技术含量,主要就是将用于绘制词云的所有词都传给软件,然后软件就会返回一张词云图。
本文介绍如何使用python绘制简单的词云图。
文章目录
- 制作基础的词云图
- jieba分词后制作词云
- 制作词库
- 画词云图
- 叮
制作基础的词云图
python中词云可以直接在输入为一大段文字的情况下生成,不需要再做更多处理。比如以下代码:
import wordcloud
import matplotlib.pyplot as plttext = """
认认真真的生活 再去做一些正儿八经的事儿04决定放弃了的事,就请放弃得干干净净。 那些决定再也不见面的人, 就真的不要见面了。 请不要让我再做背叛自己的事了。 ——山本文绪《恋爱中毒》我从来不想独身,却有预感晚婚;我在等,世上唯一契合灵魂。—— 李宗盛《晚婚》05万物皆有裂痕,那是光照进来的地方 ——《颂歌》06满怀希望就会所向披靡 ——《撒野》撒野女孩!!哪里有撒野哪里就有我!07我有所念人,隔在远远乡 ——白居易08一生辛苦 如果是一场空忙 实在是太可惜 ——《美国往事》余华《活着》中写着“人是为活着本身而活着,而不是为了活着之外的任何事物所活着。”所以我想人这一生不要被太多的东西束缚,请尽量活的单纯,活的纯粹。09你总想依赖别人, 到最后, 你会发现人生的每一个最艰难时刻, 都是自己挺过来的。当一个人承受痛苦时,总会环视四周,欲寻求一个依靠,一丝温暖。可现实却是,周围人来人往,无一人为自己停留。于是便怀着泪水,相拥寂寞,道一句,至少生活没遗忘我。建议点赞收藏,都是精品,错过后悔哦~10一生中最开心的事就是, 很多女孩子喜欢他,但他就喜欢我。他是好多人的马克思,却永远是一个人的卡尔。11坏蛋有很多个面孔 最奸险的是外表善良的那一种。小时候最怕鬼怪,因为他们面目狰狞;长大后最怕的是人类,因为他们衣冠楚楚。12像你这个年纪 要先谈学业和梦想 再去触碰爱情与生活一位母亲的话:如果他没有像你爸爸一样包容你没有像个男人一样保护你没有像我一样心疼你并不是害怕你在十几岁的时候谈恋爱我是担心你在这个年纪遇到错的人不是真正爱你的人认为做了点毛皮就说是爱你的人这叫耽误。——网易云音乐热评《无问》13你一定是自己幸福的最佳评判者。 ——简.奥斯汀看到这句话,突然就想到《活着》里的主人公,我以为他是不幸的,父母死了,儿女死了,孙子死了,妻子死了,只有他和一只老牛活着。我想,再怎么说,他都应该是不幸的吧?可他却用字里行间的情感,以及结局的自嘲告诉我,他很幸福。14骄傲多半不外乎我们对自己的估价, 虚荣却牵涉到我们希望别人对我们的看法。 简.奥斯汀《傲慢与偏见》我觉得人本身就是矛盾体。想不顾他人语言眼神,却又不断在猜测15多读点书, 不然你的三观是由你的亲朋好友决定的16不相信世界就是这样 在明知道有的时候必须低头 有的人必将失去 有的东西命中注定不能长久的时候 依然要说,在第一千个选择之外 还有第一千零一个可能 有一扇窗等着我打开 然后有光透进来。 ——王小波17成功与否不是我能决定的, 但坚持与否,却只有我能决定。成功有千万种,但失败却只有一种,那就是在成功之前放弃。18你不停的翻着评论 只是为了找到那个替你说出故事的人19有些事,现在看来不过如此, 但在当时,真的就是一个人一秒一秒熬过来的。 ——德卡先生的信箱有些事,只能一个人做;有些关,只能一个人过;有些路啊,只能一个人走。 ——龙应台20妈妈也曾是个小女孩 怕黑怕虫子,也会掉眼泪 笨手笨脚被针扎到 却温柔了我,温柔了岁月 爸爸也曾是个小男孩 天不怕地不怕 喜欢打打闹闹 还爱闯祸 却罩住了我,罩住了整个家你多大妈妈就多大,因为生了你,她才成为了妈妈21这里的一切都有始有终 却能容纳所有不期而遇和久别重逢 世界灿烂盛大,欢迎回家 -《全球高考》22要学骆驼,沉得住气的动物。 看它从不着急 慢慢地走,慢慢地嚼 总会走到的,总会吃饱的。23你知道么, “虚惊一场”这四个字是人世间最好的成语, 比起什么兴高采烈,五彩缤纷,一帆风顺 都要美好百倍。 ——韩寒人生最好的三个词:“久别重逢,失而复得,虚惊一场。” 却唯独没有一个词叫“和好如初”,和好容易,如初多难啊。24以前听过这么一句话 一个人欺负一个人叫欺凌 两个人欺负一个人叫欺凌 十个人欺负一个人叫欺凌 一万个人欺负一个人 叫正义 ——《凡尔杜先生》数量即是正义。——《乌合之众》25有一种落差是:
"""
# 这里的text很长,就不显示了wordcloud = wordcloud.WordCloud(font_path='typeface.ttf').generate(text)
# font_path字体位置,这个很重要,因为可能中文在某些字体中不被识别,需要传入能输入中文的字体plt.figure(figsize=(8,10))
plt.imshow(wordcloud)
plt.axis('off')
画出来的效果:
可以看到上面的词云图中的词不是很像词了哈哈,所以可能整段的长句子来做词云还是效果没多好的。
除开内容外,要美化的话也是有很多的参数可以使用的,如width, height, background_color, mask, scale, font_path。这里的mask可以将词云画到某个形状的图案中。这里就不多介绍了。
jieba分词后制作词云
制作词库
要画词云,就首先需要准备词库。python中可以使用jieba进行中文分词,jieba可以将一大段文字分成很多个意义有联系的词语。当然如果你的输入数据就是类似词库的,那么这步可以跳过。使用jieba进行分词所使用到的函数有:
jieba.cut, jieba.lcut:
功能相似,都是分词,但是cut生成的是迭代器,需要通过for循环或者next来获取值,而lcut直接返回一个结果的列表。cut_all参数设置是否全匹配,默认为False表示严格分词,不会有两个相邻的词使用同一个字。而如果为True的情况下则表示不严格分词,而会有相邻的词使用同一个字的情况。比如天气很美好
在为True的情况下会被分为['天气', '很美', '美好']
,在为False的情况下分为['天气', '很', '美好']
。此外可以使用HMM 参数用来控制是否使用 HMM 模型(可能某些情况下使用HMM模型更好吧)jieba.cut_for_search, jieba.lcut_for_search:
功能也都是分词,cut_for_search也是生成迭代器,而lcut_for_search返回列表。这两种都是搜索引擎模式,结果适合于搜索引擎构建索引。也就是在上面的cut模式分词的基础上再将长词进行一定分割。在这两个函数中默认的HMM为True
示例:
!pip install jibe
import jieba
jieba.lcut('天气很美好') # 结果 ['天气', '很', '美好']
jieba.lcut('天气很美好') # 结果 ['天气', '很美', '美好']
这里不多介绍了,有兴趣可以去学习其它资源
画词云图
制作词库完成后就可以直接画词云图了。画图的方法也是很简单。
import wordcloud
import matplotlib.pyplot as plt
import jiebatext = """
认认真真的生活 再去做一些正儿八经的事儿04决定放弃了的事,就请放弃得干干净净。 那些决定再也不见面的人, 就真的不要见面了。 请不要让我再做背叛自己的事了。 ——山本文绪《恋爱中毒》我从来不想独身,却有预感晚婚;我在等,世上唯一契合灵魂。—— 李宗盛《晚婚》05万物皆有裂痕,那是光照进来的地方 ——《颂歌》06满怀希望就会所向披靡 ——《撒野》撒野女孩!!哪里有撒野哪里就有我!07我有所念人,隔在远远乡 ——白居易08一生辛苦 如果是一场空忙 实在是太可惜 ——《美国往事》余华《活着》中写着“人是为活着本身而活着,而不是为了活着之外的任何事物所活着。”所以我想人这一生不要被太多的东西束缚,请尽量活的单纯,活的纯粹。09你总想依赖别人, 到最后, 你会发现人生的每一个最艰难时刻, 都是自己挺过来的。当一个人承受痛苦时,总会环视四周,欲寻求一个依靠,一丝温暖。可现实却是,周围人来人往,无一人为自己停留。于是便怀着泪水,相拥寂寞,道一句,至少生活没遗忘我。建议点赞收藏,都是精品,错过后悔哦~10一生中最开心的事就是, 很多女孩子喜欢他,但他就喜欢我。他是好多人的马克思,却永远是一个人的卡尔。11坏蛋有很多个面孔 最奸险的是外表善良的那一种。小时候最怕鬼怪,因为他们面目狰狞;长大后最怕的是人类,因为他们衣冠楚楚。12像你这个年纪 要先谈学业和梦想 再去触碰爱情与生活一位母亲的话:如果他没有像你爸爸一样包容你没有像个男人一样保护你没有像我一样心疼你并不是害怕你在十几岁的时候谈恋爱我是担心你在这个年纪遇到错的人不是真正爱你的人认为做了点毛皮就说是爱你的人这叫耽误。——网易云音乐热评《无问》13你一定是自己幸福的最佳评判者。 ——简.奥斯汀看到这句话,突然就想到《活着》里的主人公,我以为他是不幸的,父母死了,儿女死了,孙子死了,妻子死了,只有他和一只老牛活着。我想,再怎么说,他都应该是不幸的吧?可他却用字里行间的情感,以及结局的自嘲告诉我,他很幸福。14骄傲多半不外乎我们对自己的估价, 虚荣却牵涉到我们希望别人对我们的看法。 简.奥斯汀《傲慢与偏见》我觉得人本身就是矛盾体。想不顾他人语言眼神,却又不断在猜测15多读点书, 不然你的三观是由你的亲朋好友决定的16不相信世界就是这样 在明知道有的时候必须低头 有的人必将失去 有的东西命中注定不能长久的时候 依然要说,在第一千个选择之外 还有第一千零一个可能 有一扇窗等着我打开 然后有光透进来。 ——王小波17成功与否不是我能决定的, 但坚持与否,却只有我能决定。成功有千万种,但失败却只有一种,那就是在成功之前放弃。18你不停的翻着评论 只是为了找到那个替你说出故事的人19有些事,现在看来不过如此, 但在当时,真的就是一个人一秒一秒熬过来的。 ——德卡先生的信箱有些事,只能一个人做;有些关,只能一个人过;有些路啊,只能一个人走。 ——龙应台20妈妈也曾是个小女孩 怕黑怕虫子,也会掉眼泪 笨手笨脚被针扎到 却温柔了我,温柔了岁月 爸爸也曾是个小男孩 天不怕地不怕 喜欢打打闹闹 还爱闯祸 却罩住了我,罩住了整个家你多大妈妈就多大,因为生了你,她才成为了妈妈21这里的一切都有始有终 却能容纳所有不期而遇和久别重逢 世界灿烂盛大,欢迎回家 -《全球高考》22要学骆驼,沉得住气的动物。 看它从不着急 慢慢地走,慢慢地嚼 总会走到的,总会吃饱的。23你知道么, “虚惊一场”这四个字是人世间最好的成语, 比起什么兴高采烈,五彩缤纷,一帆风顺 都要美好百倍。 ——韩寒人生最好的三个词:“久别重逢,失而复得,虚惊一场。” 却唯独没有一个词叫“和好如初”,和好容易,如初多难啊。24以前听过这么一句话 一个人欺负一个人叫欺凌 两个人欺负一个人叫欺凌 十个人欺负一个人叫欺凌 一万个人欺负一个人 叫正义 ——《凡尔杜先生》数量即是正义。——《乌合之众》25有一种落差是:
"""
words_list = jieba.lcut(text)
dict = {} # 这里建一个列表用于记录列表中的所有唯一值出现的次数
for key in words_list:dict[key] = dict.get(key, 0) + 1wordcloud = wordcloud.WordCloud(font_path='typeface.ttf', \background_color='White').fit_words(dict)
# fit_words函数传入的是记录唯一值出现的次数plt.imshow(wordcloud)
plt.axis("off")
plt.show()
画图结果:
可以看到图中有很多的的,是,你,我
这些词,而这些词一般来说可能不是我们想要看到的。因此有时候我们需要加入一些停用词,这里可以使用比如["你","我","他","了","一个","是","一","《","》","0", " ", "。", "—", "“", "”", ",", ";", ","]
,此外其中的数字也是无意义的,也可以去掉。去掉这些词后,看下词云的样子吧:
import wordcloud
import matplotlib.pyplot as plt
import jieba
text = """
认认真真的生活 再去做一些正儿八经的事儿04决定放弃了的事,就请放弃得干干净净。 那些决定再也不见面的人, 就真的不要见面了。 请不要让我再做背叛自己的事了。 ——山本文绪《恋爱中毒》我从来不想独身,却有预感晚婚;我在等,世上唯一契合灵魂。—— 李宗盛《晚婚》05万物皆有裂痕,那是光照进来的地方 ——《颂歌》06满怀希望就会所向披靡 ——《撒野》撒野女孩!!哪里有撒野哪里就有我!07我有所念人,隔在远远乡 ——白居易08一生辛苦 如果是一场空忙 实在是太可惜 ——《美国往事》余华《活着》中写着“人是为活着本身而活着,而不是为了活着之外的任何事物所活着。”所以我想人这一生不要被太多的东西束缚,请尽量活的单纯,活的纯粹。09你总想依赖别人, 到最后, 你会发现人生的每一个最艰难时刻, 都是自己挺过来的。当一个人承受痛苦时,总会环视四周,欲寻求一个依靠,一丝温暖。可现实却是,周围人来人往,无一人为自己停留。于是便怀着泪水,相拥寂寞,道一句,至少生活没遗忘我。建议点赞收藏,都是精品,错过后悔哦~10一生中最开心的事就是, 很多女孩子喜欢他,但他就喜欢我。他是好多人的马克思,却永远是一个人的卡尔。11坏蛋有很多个面孔 最奸险的是外表善良的那一种。小时候最怕鬼怪,因为他们面目狰狞;长大后最怕的是人类,因为他们衣冠楚楚。12像你这个年纪 要先谈学业和梦想 再去触碰爱情与生活一位母亲的话:如果他没有像你爸爸一样包容你没有像个男人一样保护你没有像我一样心疼你并不是害怕你在十几岁的时候谈恋爱我是担心你在这个年纪遇到错的人不是真正爱你的人认为做了点毛皮就说是爱你的人这叫耽误。——网易云音乐热评《无问》13你一定是自己幸福的最佳评判者。 ——简.奥斯汀看到这句话,突然就想到《活着》里的主人公,我以为他是不幸的,父母死了,儿女死了,孙子死了,妻子死了,只有他和一只老牛活着。我想,再怎么说,他都应该是不幸的吧?可他却用字里行间的情感,以及结局的自嘲告诉我,他很幸福。14骄傲多半不外乎我们对自己的估价, 虚荣却牵涉到我们希望别人对我们的看法。 简.奥斯汀《傲慢与偏见》我觉得人本身就是矛盾体。想不顾他人语言眼神,却又不断在猜测15多读点书, 不然你的三观是由你的亲朋好友决定的16不相信世界就是这样 在明知道有的时候必须低头 有的人必将失去 有的东西命中注定不能长久的时候 依然要说,在第一千个选择之外 还有第一千零一个可能 有一扇窗等着我打开 然后有光透进来。 ——王小波17成功与否不是我能决定的, 但坚持与否,却只有我能决定。成功有千万种,但失败却只有一种,那就是在成功之前放弃。18你不停的翻着评论 只是为了找到那个替你说出故事的人19有些事,现在看来不过如此, 但在当时,真的就是一个人一秒一秒熬过来的。 ——德卡先生的信箱有些事,只能一个人做;有些关,只能一个人过;有些路啊,只能一个人走。 ——龙应台20妈妈也曾是个小女孩 怕黑怕虫子,也会掉眼泪 笨手笨脚被针扎到 却温柔了我,温柔了岁月 爸爸也曾是个小男孩 天不怕地不怕 喜欢打打闹闹 还爱闯祸 却罩住了我,罩住了整个家你多大妈妈就多大,因为生了你,她才成为了妈妈21这里的一切都有始有终 却能容纳所有不期而遇和久别重逢 世界灿烂盛大,欢迎回家 -《全球高考》22要学骆驼,沉得住气的动物。 看它从不着急 慢慢地走,慢慢地嚼 总会走到的,总会吃饱的。23你知道么, “虚惊一场”这四个字是人世间最好的成语, 比起什么兴高采烈,五彩缤纷,一帆风顺 都要美好百倍。 ——韩寒人生最好的三个词:“久别重逢,失而复得,虚惊一场。” 却唯独没有一个词叫“和好如初”,和好容易,如初多难啊。24以前听过这么一句话 一个人欺负一个人叫欺凌 两个人欺负一个人叫欺凌 十个人欺负一个人叫欺凌 一万个人欺负一个人 叫正义 ——《凡尔杜先生》数量即是正义。——《乌合之众》25有一种落差是:
"""
words_list_jieba = jieba.lcut(text)words_list = [] # 创建一个用于存放去掉停用词之后的词库
for i in words_list_jieba:if i in ["你", "有", "在", "却", "就","我","他","的", "了","一个","是","一","《","》","0", " ", "。", "—", "“", "”", ",", ";", ","] or i.isnumeric():passelse:words_list.append(i)dict = {} # 这里建一个列表用于记录列表中的所有唯一值出现的次数
for key in words_list:dict[key] = dict.get(key, 0) + 1wordcloud = wordcloud.WordCloud(font_path='typeface.ttf', \background_color='White').fit_words(dict)plt.figure(figsize=(10,12))
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
结果:
可以看到结果还不错,能够大概反映一些东西。
叮
python词云的绘制就先讲到这了。
参考:https://www.cnblogs.com/wkfvawl/p/9487165.html
参考:https://github.com/fxsjy/jieba
参考:https://www.cnblogs.com/aprilspring-emotion/p/9379715.html
利用python绘制简易词云图(使用jieba进行中文分词)相关推荐
- python画二维温度云图_利用python画出词云图
本文将介绍如何利用python中相应的模块画出词云图.首先给出效果图: 其中词云图中的词汇是对手机短信中的垃圾短信的统计,字体越大表示在垃圾短信中出现的频次越高.下面给出具体的步骤. 读取" ...
- Python绘制基础词云图
Python的词云制作. 词云介绍: 词云是对文本进行可视化呈现的一种方式, 词云出现的次数越多,字体越大,颜色越醒目, 可以通过词云快速获取文本的主要内容 给大家看一下词云绘制的效果: 用来绘制词云 ...
- Python文本分析——词云图(wordcloud+jieba)
目录 1.实现 2.BUG解决 1.词云图实现 一.准备 环境:Win10+Python 3.6.1 64bit+PyCharm 词云库:wordcloud(pycharm如何安装库) 汉语分词库: ...
- jieba分词_wordcloud词云美化——jieba结巴中文分词(将长句拆分)
大家好,上一篇文章<五行代码上手WordCloud词云--用一个重复的单词做一个单词云>已经带大家初步认识了词云的基本制作流程,本节教大家如何对长句进行拆分制作词云: 首先我们来了解这张图 ...
- python,WordCloud库绘制圆形词云图
WordCloud是python的一个三方库,称为词云也叫做文字云,是根据文本中的词频,对内容进行可视化的汇总,可以用来绘制用户画像.下面介绍如何利用WordCloud绘制圆形词云图 首先用ppt或v ...
- python删除中文停用词_python词云 wordcloud+jieba生成中文词云图
简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程.本文需要的两个核心Python类库: jie ...
- python词云 wordcloud+jieba生成中文词云图
简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程.本文需要的两个核心Python类库: jie ...
- Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析
Python基于WordCloud词云图的数据可视化分析 词云图的基本使用 政府工作报告分析 文章目录 1.词云图简介 2.wordcloud库的安装 3.WordCloud的主要参数说明 4.绘制词 ...
- Python爬虫+简易词云的制作
Python爬虫+简易词云的制作 写在前面 再识Python 简介: 应用场景: Python命令行执行: 基本语法: 连接数据库: Python爬虫 主要步骤: 第一种爬虫:urllib基本库+Be ...
最新文章
- git submodule 使用场景汇总
- 听君今一言,似读半月书
- 虚拟光驱安装服务器无法运行,windows7虚拟光驱无法正常打开怎么办
- ArcGIS License Manager 更新
- xcode项目集成CocoaPods
- zabbix监控ntpd服务
- 数据结构和算法(Java)-张晨光-专题视频课程
- 前端学习(568):元素定高 容器定高 为什么不能居中
- 解决Shockwave flash在谷歌浏览器上崩溃的问题
- 今天心情有点糟....
- windows自带黑体_微软黑体下载-微软黑体官方下载[字体下载]-华军软件园
- java协同过滤推荐算法
- CADD课程学习(2)-- 靶点晶体结构信息
- 惠普电脑笔记本台式机预装系统 V2011.08 兼容i3 i5 i7
- Linux下recv函数的使用细节
- html5动态创建canvas,[canvas]通过动态生成像素点做绚丽效果
- Navicat Premium 15 注册出现 No All Pattern Found! File Already Patched?
- java语言实现吃水果问题_Java 面向对象 之 人吃水果
- Docker下载速度慢,怎么解决?
- 21版本FL Studio水果音乐制作软件下载
热门文章
- 微信小程序全局配置分享指定标题、图片、路径
- 1051 复数乘法 分数 15
- 洛谷 P2191 小Z的情书
- 运城计算机学校耻 中学校,山西这几所中学,“一本”上线率过半,“名校收割机”实至名归...
- 推下属出去背锅,是最被人不耻的管理者
- 2022广东省安全员A证第四批(主要负责人)判断题及模拟考试
- 【实习日记】第五天 剖析源码+学习Node.js Typescript基本语法
- 85D - Sum of Medians
- flink的map等常用api失效(记一次许久未写flink的坑)
- UVA11134 传说中的车 Fabled Rooks