失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python-继人物词频统计三国演义之后-三国词云(Wordcloud)

Python-继人物词频统计三国演义之后-三国词云(Wordcloud)

时间:2024-06-05 02:40:35

相关推荐

Python-继人物词频统计三国演义之后-三国词云(Wordcloud)

首先说明wordcloud库,词云库

import wordcloud#首先创建词云对象,给参数w = wordcloud.WordCloud()

参数还是挺多的,主要用到的:如果有中文,一定要设置字体路径,否则出来都是框框,宽高随意,mask可以指定生成的形状,需要载入图片,背景白色,稍后提到,max_words可以设置单词最大个数,默认200,后面是最小字体,最大字体,以及之间的步长,色彩模式默认为RGB,常用的还有背景颜色设置

import wordcloudw = wordcloud.WordCloud(width=1000,height=500,background_color='white')w.generate('life is short you need python')w.to_file('2.png')

设置背景形状在势力中说明

重点来了 ,利用词频统计的一些代码,并加入形状文件,使用一张背景为白色的中国地图

import jiebaimport wordcloudfrom scipy.misc import imreadimg = imread('china1.jpeg')includes = ['将军','却说','二人','不可','荆州','如此','不能','商议','如何','主公','军士','左右','军马','引兵','次日','大喜','天下','于是','东吴','今日','不敢','魏兵','人马','不知','汉中','陛下','一人','众将','只见','蜀兵','大叫','上马','此人','后人','城中']def get_text():f = open('三国演义.txt','r',encoding='utf-8').read()words = jieba.lcut(f)ls = []for i in words:if len(i)==1 or i in includes:continueelif i in ['丞相']:ls.append('曹操')elif i in ['孔明曰','孔明']:ls.append('诸葛亮')elif i in ['玄德曰', '玄德']:ls.append('刘备')elif i in ['关公', '云长']:ls.append('关羽')elif i in ['都督']:ls.append('周瑜')else:ls.append(i)return ' '.join(ls)txt = get_text()w = wordcloud.WordCloud(font_path='msyh.ttf',width=1000,height=500,background_color='white',mask=img)w.generate(txt)w.to_file('1.jpg')

加载形状图片要用到scipy库的imread方法

结果还是挺炫的

如果觉得《Python-继人物词频统计三国演义之后-三国词云(Wordcloud)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。