准备工作

  主要用到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. Jquery中事件的重复绑定

    问题:事件的绑定具有叠加效果,已有绑定的函数时,再次绑定,执行时会出现绑定多少次,触发多少次的情况 解决:1.on();绑定事件,提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind(). ...

  2. 【AtCoder】【思维】【图论】Splatter Painting(AGC012)

    题意: 有一个含有n个点的无向图,所有的点最初颜色均为0.有q次操作,每次操作将v[i]周围的距离小于等于d[i]的点全部都染成颜色c[i].最后输出每个点的最终的颜色. 数据范围: 1<=n, ...

  3. 错误解决记录-------------验证启动HDFS时遇到的错误

    主要解决验证启动HDFS时: 1) jps:bash: jps: command not found... 原因:主要是java/bin 环境变量没配置好. 解决办法: 在  ~/.bash_prof ...

  4. In the beginning, Coders create the repos and blogs

    ---恢复内容开始--- 这是一个新的博客 print(‘hello new world’) 这个博客叫做 brain in a jar, 不知道以后会不会改名. 只是因为偶然想到了普特南的缸中之脑理 ...

  5. 写一个带文本菜单的程序,菜单项如下 (1) 取五个数的和 (2) 取五个数的平均值 (X) 退出。

    问题: 写一个带文本菜单的程序,菜单项如下(1)    取五个数的和 (2)     取五个数的平均值(X)    退出. 由用户做一个选择, 然后执行相应的功能.当用户选择退出时程序结束. 实现: ...

  6. Laravel安装redis扩展

    Laravel安装redis扩展 1.使用命令行,执行(当然要先安装composer) composer require predis/predis 2.执行完就安装好了,redis相关配置可以到.e ...

  7. sql的基础用法

    # sql 对大小写不敏感 # 查询表中的所有信息 select * from `Customers`; # 查询指定字段 CustomerName,Country select CustomerNa ...

  8. textarea 中的换行符

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Dev_GridView获取所选行的句柄

    这是官方帮助文档上的一句话: 此示例演示如何获取所选行,然后更改其字段值. GetSelectedRows方法检索所选行的句柄. 由于行句柄反映了在View中显示行的顺序,因此修改单行可 能会影响其他 ...

  10. 洛谷P3388 【模板】割点(割顶)

    题目背景 割点 题目描述 给出一个n个点,m条边的无向图,求图的割点. 输入输出格式 输入格式: 第一行输入n,m 下面m行每行输入x,y表示x到y有一条边 输出格式: 第一行输出割点个数 第二行按照 ...