准备工作

  主要用到Python的两个第三方库

  • jieba:中文分词工具
  • wordcloud:python下的词云生成工具

步骤

  1. 准备语料库,词云图需要的背景图片
  2. 使用jieba进行分词,去停用词,词频统计等
  3. 使用wordcloud进行词频展示

主要代码

 import jieba
jieba.load_userdict('userdict.txt') # 加载自定义词典
sentence_depart = jieba.cut(sentence) # 分词
stop_words = stop_word_list() # 创建停用词列表
out_str = ''
# 去停用词
for word in sentence_depart:
if word not in stop_words:
if word != '\t':
out_str += word
out_str += " "
 from os import path
from scipy.misc import imread
import jieba.analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud d = path.dirname(__file__) # 返回当前运行脚本下的绝对路径
back_coloring_path = "1.jpg" # 随意准备一张图片,用来设置词云形状
back_coloring = imread(path.join(d, back_coloring_path)) # 读取图片 f = open(u'out.txt', 'r', encoding='utf-8').read() # out.txt已经处理好的分词数据
tags = jieba.analyse.extract_tags(f, topK=100, withWeight=False) # 关键词提取 topK=100 提取TF-IDF权重最大的前100个关键词
text = " ".join(tags) wordcloud = WordCloud(background_color='white',
width=2000,
height=1000,
margin=2,
max_words=100, # 设置最多显示的词数
mask=back_coloring, # 设置词云形状
font_path="simhei.ttf", # 中文词图必须设置字体格式,否则会乱码,这里加载的是黑体
random_state=10) # 设置有多少种随机生成状态,即有多少种配色方案
w = wordcloud.generate(text) # 传入需画词云图的文本
plt.imshow(w)
plt.axis('off') # 关闭坐标轴
plt.show()

比如:传入如下两张图片作为词图的形状

词云图结果

参考资料:https://www.jianshu.com/p/2052d21a704c

python绘制中文词云图的更多相关文章

  1. python绘制WordCloud词云图

    目录 前言 核心代码 测试 前言 当我们想快速了解书籍.小说.电影剧本中的内容时,可以绘制 WordCloud 词云图,显示主要的关键词(高频词),可以非常直观地看到结果 核心代码 from word ...

  2. 吃瓜的正确姿势,Python绘制罗志祥词云图

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一 ...

  3. 超详细:Python(wordcloud+jieba)生成中文词云图

    # coding: utf-8 import jieba from scipy.misc import imread # 这是一个处理图像的函数 from wordcloud import WordC ...

  4. Python3制作中文词云图

    1. 准备好文本数据 2. pip install jieba 3. pip install wordcloud 4. 下载字体例如Songti.ttc(mac系统下的称呼,并将字体放在项目文件夹下) ...

  5. (数据科学学习手札71)在Python中制作个性化词云图

    本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 词云图是文本挖掘中用来表征词频的数据可视化 ...

  6. 用Python制作酷炫词云图,原来这么简单!

    一.简介词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:! 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些 ...

  7. [python] 基于词云的关键词提取:wordcloud的使用、源码分析、中文词云生成和代码重写

    1. 词云简介 词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博 ...

  8. python词云图与中文分词

    2019-12-12中文文本分词和词云图具体功能介绍与学习代码: import jiebaa="由于中文文本的单词不是通过空格或者标点符号来进行分割"#jieba.lcut()s是 ...

  9. python 绘制词云图

    1. 先下载并安装nltk包,准备一张简单的图片存入代码所在文件目录,搜集英文停用词表 import nltk nltk.download() 2. 绘制词云图 import re import nu ...

随机推荐

  1. Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 specification section 7.3.1 for more details

    错误描述 在jsp页面引入了自定义的TLD文件的时候,碰到了一个错误 Invalid tld file: "/WEB-INF/tags/xxxt.tld", see JSP 2.2 ...

  2. thread - 传递引用参数

    当给 thread 的执行函数传递指针参数时,没有任何问题,但是如果想传递引用,按照普通函数的调用方法会遇到编译失败: #include <iostream> #include <t ...

  3. php页面传值的方法(转)

    原文链接:https://www.cnblogs.com/suvllian/p/5582540.html   PHP页面间传值的几种方法 方法一:require_once //Page a: < ...

  4. NEO-Karl-Python1

    第一个程序: print("NEO-Karl welcome to the new world")

  5. Python编码规范:IF中的多行条件

    Python编码规范:IF中的多行条件 转载 2017年03月08日 09:40:45 http://blog.csdn.net/wsc449/article/details/60866700 有时我 ...

  6. GMA Round 1 新程序

    传送门 新程序 程序框图如图所示,当输入的n=时,输出结果的ans是多少? 容易看出该程序求n以内质数个数,50以内有15个. 定位:简单题

  7. requirejs的使用和快速理解

    样例来自https://www.jianshu.com/p/b8a6824c8e07 requirejs有以下功能 声明不同js文件之间的依赖 可以按需.并行.延时载入js库 可以让我们的代码以模块化 ...

  8. python获取文件所在目录

    1.执行的python程序获取自己文件所在目录 import os,sys os.chdir(sys.path[0]); dir_name = os.path.abspath(os.path.join ...

  9. 经过N条边的最短路

    http://acm.pku.edu.cn/JudgeOnline/problem?id=3613 求经过N条边的最短路 (2 ≤ N ≤ 1,000,000) 倍增floyd,主体是矩阵乘法.考虑一 ...

  10. CSS3属性上调

    一.为什么使用CSS 1.有效的传递页面信息 2.使用CSS美化过的页面文本,使页面漂亮.美观,吸引用户 3.可以很好的突出页面的主题内容,使用户第一眼可以看到页面主要内容 4.具有良好的用户体验 二 ...