设为首页 加入收藏

TOP

使用 Python 制作 疾风剑豪-亚索 词云图(一)
2019-03-13 16:08:13 】 浏览:330
Tags:使用 Python 制作 疾风 亚索 云图

作者:王大伟

博客专栏:https://www.hellobi.com/u/wangdawei/articles

Python爱好者社区  唯一小编 

 

前言

最近空下来了,又可以量产文章了,但是写文章还是要走心的

写文章的过程其实挺麻烦的,耗费的时间也不少

但是对自己的表达能力和对代码的认识程度能更上一层楼

还记得从第一次写文章到现在,写过爬虫、自然语言处理、面向对象、pandas等

当然,以后会写更多内容哈哈

前段时间觉得词云这东西挺好玩的,于是就稍微入门看看情况

安装word-cloudpython学习交流裙:984632579

老规矩,在cmd下输入:

pip3 install wordcloud

 

如上图,我之前已经装好了。

使用环境

python3.x版本

jupyter notebook 编辑器

官方github地址

https://github.com/amueller/word_cloud

导入模块

import wordcloud

如果没报错就说明安装完成了

疾风剑豪搭载特朗普核心

使用的是特朗普就职演讲内容~

原图:

制作词云图之后:

具体代码如下:

from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator


d = path.dirname('.') #获取到当前文件路径
# Read the whole text.
text = open(path.join(d, 'yasuo.txt')).read() #读取制作词云的文本

#设置背景图片
# read the mask / color image taken from
# http://jirkavinse.deviantart.com/art/quot-Real-Life-quot-Alice-282261010
alice_coloring = np.array(Image.open(path.join(d, "yasuo.jpeg")))
stopwords = set(STOPWORDS)
stopwords.add("said")

#背景颜色,显示最多词数,设置背景图片,字体最大值等
wc = WordCloud(background_color="white", max_words=1000, mask=alice_coloring,
              stopwords=stopwords, max_font_size=500, random_state=42)
# generate word cloud
#生成词云
wc.generate(text)

# create coloring from image
image_colors = ImageColorGenerator(alice_coloring)

# show
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
#绘制词云图
plt.figure()
# recolor wordcloud and show
# we could also give color_func=image_colors directly in the constructor
plt.imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
plt.axis("off")
plt.figure()
plt.imshow(alice_coloring, cmap=plt.cm.gray, interpolation="bilinear")
plt.axis("off")
plt.show()

将最多显示词数和词的大小调整之后是不是看起来舒服多了呢!

从词云图是不是可以看出疾风剑豪的动作和特朗普有某些相似之处呢~

注意:当你使用时只需要修改yasuo.jpeg和yasuo.txt的内容和名字,然后可以适当修改词的大小和最多显示个数(要将这两个文件放在默认路径,或者自己写对路径)

我测试了一下,这个词云图用中文文本不太方便,要先分词,于是可以参照以下代码做中文词云图,有需要的小伙伴可以看看:

找回自我-重拾亚索核心

制作中文词云图:

from os import path
from scipy.misc import imread
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud


#text = cleaned_comments #文本数据
text = '''疾风剑豪·亚索是网络竞技游戏《英雄联盟》里面第117位英雄。

疾风剑豪·亚索主要造成物理伤害,护甲是最佳防御,他是一位近战爆发AD刺客,双突进的技能设置,使得他在中单游刃有余,并且大招在队友的配合下,在团战中能够发挥至关重要的作用。亚索是一个百折不屈的男人,还是一名身手敏捷的剑客,能够运用风的力量来斩杀敌人。这位曾经春风得意的战士因为诬告而身败名裂,并且被迫卷入了一场令人绝望的生存之战。即使整个世界都已与他为敌,他也要竭尽所能地去将罪恶绳之以法,并恢复自身的名誉。

亚索曾是艾欧尼亚某所知名剑术道场的天才学徒,并且还是同辈中唯一能够掌握传说中的御风剑术的学生。大部分人曾相信他注定会成为一位伟大的英雄。但是,因为诺克萨斯的入侵,他的命运被永久地改变了。亚索在那时负责保护一位艾欧尼亚长者,但是,他自大地以为自己的剑能够改变战局,便擅离职守,投身于战场之中。当他回到长者身边时,发现长者已被杀死。

身败名裂的亚索甘愿自首,准备用一生来补偿他的失职之罪。但是,他不单被控告玩忽职守,还被控告谋杀,这让他震惊不已。尽管负罪感让他困惑不已、痛苦不堪,但他知道,如果他不作为的话,真正的刺客就会逍遥法外。亚索拔剑而战,逃出道场,并且他非常清楚,自己又犯下了谋反罪,整个艾欧尼亚都会与他为敌了。他第一次陷入真正的孤独境地,踏上了寻找杀害长老的真凶的人生旅程。

亚索接下来的数年都在各地流浪,搜寻着能够带他找到真凶的蛛丝马迹。至始至终,他都在被昔日的同窗们无情地追捕着,不断地被迫作战,否则就会丧命。他的使命驱使着他不断前行,直到他被最为可怕的对手——他的亲兄弟,永恩——所追上。

在传统礼教的束缚下,这两位剑客先是互相鞠躬,然后拔剑交战。在月光下,他们无声地将剑挥舞了一圈又一圈。当他们最终向前冲锋时,永恩不敌亚索;剑光闪过,永恩就倒下了。亚索弃剑后冲到永恩旁边。

百感交集下,他询问自己的兄弟,他的亲人们怎么会认为他有罪。永恩说:“长者死于御风剑术。还有谁能做到呢?”亚索瞬间明白了为何自己会被控告。他再次声称自己是清白的,并且乞求他的兄弟原谅自己。随着他的兄弟在他的臂弯里永眠,他的泪水也在他的脸颊上滑落。
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python爬虫3-parse编码 下一篇用Python复制文件的九种方法!你..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目