WordCloud的用法

1、导入需要的库

# coding: utf-8import jieba
import wordcloud
import random
import time
import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt

2、对文本的处理

text_data = '''
白色情人节,(英语:White Day;日语:ホワイトデー),订于3月14日,一般认为是对于西方情人节的延续,最早起源于公元三世纪时的罗马。相传罗马皇帝设立情人节是为了纪念自己在2月14日救了一对因违反恋爱结婚禁令而要被处死的恋人。一个月后,也就是3月14日,这对情侣宣誓至死不渝,后来便成为白色情人节开始流传到其他国家。普遍认为日本最早接受并推广这个节日,由于日本强大的文化软实力使得亚洲国家纷纷效仿,于是这个没有准确史料记载的情人节也成为年轻情侣看重的另一个“情人节”。白色情人节流行于日本、中国台湾等地区,在送礼方面也不同:具体为2月14日男方送女方一份礼物,主要是玫瑰花或者巧克力(只是中国大陆和英美法),3月14日白色情人节,就该轮到女方送男方礼物了,(日本,中国台湾是刚好相反的,2月14日是女生送巧克力,3月14日是男生回礼) 在日本,通常欲告白的女方会在情人节(2月14日)的时候送礼给心仪的对象,而收到礼物的一方,则会在3月14日回礼并告诉女方自己的心意。亚洲部分地区的年轻人亦会庆祝这个节日。又叫返情人节,指的是在情人节收到礼物,则在一个月后的3月14日回馈礼物,当然仅仅是回馈你想回的那个人。起源最早诞生于1977年,由日本福冈市博德区的甜点(菓子)制造商「石村万盛堂」所发起,以鼓吹收到心意的一方应该要回礼给对方,作为促销糖果的手段,节日最早称为「糖果赠送日」(キャンデーを赠る日)。自1980年起,因为糖果所使用的砂糖是白色,所以改称为「白色情人节」。不久后,巧克力制造商发现他们也可以在这个节日中获利,因此也开始促销白色的巧克力。现在,在这一天要回礼时,除了糖果与白巧克力之外,还包括其它各种礼品。 目前关于情人节与白色情人节,到底是男先送礼还是女方先送礼,已不再有定论,重点是这样的节日让有情有缘的男女双方都有一个可以发挥与表达自我心意的时机,相关的商人们,当然也就乐得大发利市了。根据日本全国饴菓子工业协同组合的解说,「白色情人节」定在3月14日的原因是由于公元三世纪时,罗马帝国皇帝克劳狄二世在首都罗马宣布废弃所有婚姻的承诺,下令全国男子都要从军。一名叫华伦泰(Sanctus Valentinus)的神父没有遵照这个旨意而继续为相恋的男女举行婚礼。事情被告发后,华伦泰神父被罗马政府捸捕,最后在公元270年2月14日这天被送上了绞架被绞死。而在一个月后的3月14日,这对获救的恋人宣誓恋情将至死不渝,为纪念这天于是另定为白色情人节。但是这个解说是完全没有历史根据的。一开始,3月14日是没有名字的,与2月14日一样都叫做“情人节”。 后来,人们为了把两个节日区分开来,便将3月14日定为“白色情人节”。白色在欧洲国家看来是纯洁、清纯、有灵性的,就好像年轻的少女一般,就像西方人结婚要穿白色婚纱。这便成为了“白色情人节”名称的重要来源之一。因为逐渐的流传与发展,“白色”所代表的更是期盼与幸福,是对恋人的祝福。“白色情人节”最早起源于三世纪时的罗马。罗马皇帝在2月14日救了一对因为原本因违反恋爱结婚禁令而要被处死的恋人,罗马皇帝为了纪念这一天而设立了情人节。而在一个月后的3月14日,这对获救的恋人宣誓恋情将至死不渝,为纪念这天于是另订为白色情人节。而此节日就从欧洲开始流传到世界其它地方。传说 日本的民间传说二月十四号原本是女孩子对男孩子诉表情意的日子,由女孩子送情人礼物给男孩子但是渐渐发展到最后,已不分彼此,现在由谁主动送礼物已经不重要了。在日本如果一方在二月十四日当天收到异性送的情人礼物表达情意,而且对对方也同样有好感或情意时,就会在三月十四日回送对方一份情人礼物,那表示彼此已经心心相印,所以他们就把三月十四日这一天,定为“白色情人节”。寓意期盼和幸福。 White白色:保护感、充满灵性、神圣、和平、纯洁、真实、诚挚和力量、清洁、清纯、浪漫、爽朗、潇洒、高贵、明白、纯粹、澄明、清爽、尊敬、纯净、简洁、谦卑、精密、清白、青春、出生相传,2月14日,男孩送女孩给礼物(一般为玫瑰花)。经过一个月的考虑和考察,到了3月14日,如果女孩回赠男孩礼物(一般送巧克力),就表示女孩认可男孩,可以谈恋爱了。 因此3月14日又称为白色情人节。相比2月14日的热烈,3月14日的故事表明了它更当是一个甜蜜的、相会的日子。习俗由于“白色情人节”起源于欧洲,所以欧洲人对过“白色情人节”已有一定的历史,并已形成了相当成熟的习俗。相传,2月14日,男孩送女孩给礼物(一般为玫瑰花和巧克力)。经过一个月的考虑和考察,到了3月14日,如果女孩回赠男孩礼物(一般送纯手工曲奇),就表示女孩认可男孩,可以谈恋爱了。
'''# 分词
tokenize_result = jieba.lcut(text_data)stopwords = [line.strip() for line in open('stoplist.txt', 'r', encoding='utf-8').readlines()]  # stoplist.txt为停用词文件
words = [word.strip() for word in tokenize_result if (word not in stopwords) and (word.strip())]
df = pd.Series(words)
frequences = df.value_counts() # 表示词频{"词":频次}

3、制作词云

# (1)自定义颜色函数
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):# h = randint(0, 255)  # 从0-255取值,分别是从红→橙→黄→绿→青→蓝→紫# 51-70间为较亮的难以看清的黄色,0-15的红色也过于注目,改成随机在 16-50和 71-255间取值h = random.choice((random.randint(16, 50), random.randint(71, 255)))s = int(100.0 * 255.0 / 255.0)l = int(100.0 * float(random.randint(60, 120)) / 255.0)string =  "hsl({}, {}%, {}%)".format(h, s, l)print(string)return string# (2)导入背景图
back_pic = plt.imread("wordcloud_backgroud.jpg")  # 背景图# (3)生成词云对象
wc = WordCloud(scale=4,  # scale越大,分辨率越高,越清晰font_path='C:\\Windows\\Fonts\\simhei.ttf',  # 设置字体,Windows系统自带了Fonts文件夹background_color="white",  # 背景颜色max_words=200,  # 词云显示的最大词数mask=back_pic,  # 设置背景图片max_font_size=250,  # 字体最大值random_state=42,color_func=random_color_func)

背景图如下:

4、画图

gar_wordcloud = wc.fit_words(frequences)  # frequencies是由频数构成的Series的形式,且单词作为索引
plt.figure(figsize=(16, 8))
plt.imshow(gar_wordcloud)
plt.axis('off')
plt.show()
plt.show()

6、效果

6、github
https://github.com/lidichengfo/WordCloud

WordCloud的用法相关推荐

  1. wordcloud 用法及名著词云统计

    python 第三方库 wordcloud 基本用法 wordcloud是一个词云展示的第三方库 ,需要安装使用. 以下演示在windows环境下进行. 演示版本为python3.7.4 1.安装 安 ...

  2. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例

    本文整理汇总了Python中wordcloud.ImageColorGenerator方法的典型用法代码示例.如果您正苦于以下问题:Python wordcloud.ImageColorGenerat ...

  3. 非计算机专业《Python程序设计基础》教学参考大纲

    <Python程序设计基础> 教  学  大  纲 目   录 一. 课程简介 二. 教学目的和要求 三. 教学中应注意的问题 四. 教学内容 五. 教学课时分配 六. 教材与参考书目 一 ...

  4. Python程序设计基础教学大纲

    转载网址:https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&mid=2247486738&idx=1&sn=c56247741 ...

  5. echarts词云图形状_用Wordcloud生成指定形状的词云图

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...

  6. wordcloud库的常规方法及词云绘制实例

    对一文本wordclound.txt进行词云绘制 import jieba import wordcloud f = open("wordcloudeg.txt","r& ...

  7. 查看list的形状_用Wordcloud生成指定形状的词云图

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...

  8. Python实现Wordcloud生成词云图的示例

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...

  9. python 引入同一路径的类_Python实现Wordcloud生成词云图的示例

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...

最新文章

  1. IT公司100题-27-跳台阶问题
  2. 贝叶斯分类器的matlab实现_贝叶斯实验
  3. 计算机课具体任务驱动,计算机基础课程的任务驱动的教学设计与实践论文
  4. Python爬虫-- Scrapy框架
  5. 布袋除尘器过滤风速多少_布袋除尘器过滤风速的确定及启动与停机的讲解
  6. hdu3397 线段树 成段更新
  7. python如何安装pdfminer_Python3.8安装pdfminer
  8. python通过http上传文件
  9. 【JSP简单实现购物车(书本案例代码)】
  10. cadence17.2小白eda365skill 安装教程
  11. 车机没有carlife可以自己下载吗_论互联哪家强 Carlife/Carplay针尖对麦芒
  12. Log4j有哪几种日志级别呢?
  13. java 怎么使用 设计模式对业务进行解耦(一)
  14. java数字转换成大写字母
  15. VS2015 LNK2001:无法解析的外部符号 debug调试
  16. 访问共享盘,无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限。...
  17. 极路由添加静态路由表_如何将静态TCP / IP路由添加到Windows路由表
  18. java 配置文件加密_Java在配置文件中加密密码?
  19. 群晖存储空间不足-处理方案一
  20. android平板能玩吃鸡吗,刺激战场用什么平板好 平板吃鸡配置推荐

热门文章

  1. 微信企业号:员工信息自定义字段
  2. instagram 标签_使Instagram更适合您的11条提示
  3. 【高数】高数第二章节——导数求导法则高阶导数微分
  4. 你使用的授权码与本机不匹配,请重新授权
  5. JS-向当前url追加参数
  6. php imagick 取得psd缩略图,php imagick 获取psd图层信息
  7. ESP8266使用MQTT
  8. Proxy是什么意思?谁能解释一下
  9. 如何优化cocos2d-x手游内存
  10. 斐波那契堆为何称为斐波那契