|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
wordcloud库基本介绍% ]( B" [+ V3 u) c1 x$ d
1.1 wordcloud库概述
, ]4 |2 a: L0 t. d5 o, J3 fwordcloud是优秀的词云展示第三方库
- S$ x1 ^4 D' Y
8 j) K* m; `9 k: n c3 Y: \7 x- 词云以词语为基本单位,更加直观和艺术的展示文本
$ v }/ Q; O o9 E* |- V, W4 } - X; i" h( N" R9 n3 P
1.2 wordcloud库的安装; p3 [/ h! e* v+ D/ s- ^
pip install wordcloud (cmd命令行)
1 Z3 _+ \# v4 g% O& q# R
7 M: ~6 A: r: k- |0 P, Y3 @) o
/ Z+ P) E7 [ dwordcloud库使用说明
% A$ v, H5 V/ |' W, N2.1 wordcloud库基本是使用" [: i, c& c8 _4 W5 C( t
wordcloud库把词云当作一个WordCloud对象( w# X) f& A7 z% E0 g9 E0 `
- wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 绘制词云的形状、尺寸和颜色都可以设定
- u; I; Y; u9 \( h5 |% [* u1 I
% N" }8 {0 I: O9 K2.2 wordcloud库常规方法
/ S: z, ~# w. u( m6 d7 l- w = wordcloud.WordCloud()
复制代码- 以WordCloud对象为基础
- 配置参数、加载文本、输出文件1 a) T* b3 a5 g5 S
8 M1 @) X. i0 d9 k| 方法 | 描述 | | w.generate(txt) | 向WordCloud对象w中加载文本txt,w.generate("Python and WordCloud") | | w.to_file(filename) | 将词云输出为图像文件,.png或.jpg,w.to_file("outfile.png") |
: L: r) M( ]" S$ d- 步骤1:配置对象参数
- 步骤2:加载词云文本
- 步骤3:输出词云文件5 }) v+ N% k3 i- a8 h
- import wordcloud; P5 {% u* ?8 d. ^
- ) w0 M( L1 E8 R8 V2 G5 t
- w = wordcloud.WordCloud()
4 N# X" n/ B1 B' [! q C; j0 s6 C1 l1 o - w.generate("Python and WordCloud")0 @3 A5 v1 ^) t$ D
- w.to_file("pywordcloud.png")
复制代码
J# A! |7 p* p# f" M* A% \; H; F
8 X) L- R" K: W9 i4 y. }8 V+ L/ q2.3 配置对象参数- w = wordcloud.WordCloud(<参数>)
复制代码| 参数 | 描述 | | width | 指定词云对象生成图片的宽度,默认400像素
' M6 i/ R5 s4 A5 O3 a& Kw=wordcloud.WordCloud(width=600) | | height | 指定词云对象生成图片的高度,默认200像素/ [7 c9 |1 ^, I' d# ^' J
w=wordcloud.WordCloud(height=400) | | min_font_size | 指定词云中字体的最小字号,默认4号
% h1 S9 p: d. B4 ww=wordcloud.WordCloud(min_font_size=10) | | max_font_size | 指定词云中字体的最大字号,根据高度自动调节
3 E+ w1 y- e4 _: R) zw=wordcloud.WordCloud(max_font_size=20) | | font_step | 指定词云中字体字号的步进间隔,默认为1
# x3 o( R% |: n& {7 P4 x( ]) nw=wordcloud.WordCloud(font_step=2) | | font_path | 指定字体文件的路径,默认None3 @" [$ z# e4 G4 b
w=wordcloud.WordCloud(font_path="msyh.ttc") | | max_words | 指定词云显示的最大单词数量,默认2003 p: `. d0 s b0 }# A6 Y8 t
w=wordcloud.WordCloud(max_words=20) | | stop_words | 指定词云的排除词列表,即不显示的单词列表
" Y+ ], c3 i4 l% E m( zw=wordcloud.WordCloud(stop_words="Python") | | mask | 指定词云形状,默认为长方形,需要引用imread()函数
- y( [( }2 P+ w* z7 \# wfrom scipy.msc import imread( V& B# T- w4 r+ j
mk=imread("pic.png")
+ P! ?" ]. r. X' f1 Nw=wordcloud.WordCloud(mask=mk) | | background_color | 指定词云图片的背景颜色,默认为黑色5 n" |: n& O& k' x% y) m
w=wordcloud.WordCloud(background_color="white") |
- # mask* {6 x( O F( @" z
- from scipy.misc import imread
9 c4 O7 c+ ~( }1 l" q
7 o: o ?# u! K- mk=imread("pic.png")
+ {! @4 x, a6 U9 v' g - w=wordcloud.WordCloud(mask=mk)
复制代码
% {. g1 }' C: {2.4 wordcloud应用实例
) \' [* O" M) f$ D k8 i- import wordcloud
/ B4 l& L* O k - 6 ~/ u `3 d6 P3 Y b
- txt = "life is short, you need python"5 S4 k# g" G* h% y: [
- w = wordcloud.WordCloud(background_color="white")$ w) H, K( j( B7 G
- w.generate(txt)# J& a* x {) q
- w.to_file("pywcloud.png")
复制代码
2 ?, x2 B }3 W7 E7 y* L; [) W3 R+ h- X2 V, E* T$ ^
中文需要先分词并组成空格分隔字符串
7 [: W! r- q+ U, Z0 O1 n/ K" h0 A1 \案例:
' e% v6 \3 J- H- F, g$ M- import jieba0 S1 _% }: u) u# {, Y
- import wordcloud
i9 ?6 i+ w; V - txt="import jieba6 a0 j) h; t4 F9 B- U
- import wordcloud0 [- t. Q% o: \
- txt="新大榭Python学习社区《声明》: Python学习社区 http://www.daxie.net.cn/py/ Python官网 https://www.python.org(一)这里是专为浙江高考生深入学习《信息技术》课程而倾情打造的python学习专栏!(二)建议用户提前注册新大榭官方社区账号并用电脑端登录参加Python系列课程的学习;(三)为提高本社区人气,保护题库答案不被提前泄密,帖子设置了回复主题查看答案功能;(四)如未特别说明本站发布的所有源代码均适用于 Python 3.x 语法体系(与高考语法同步);(a)图灵算法;(b)大数据分析;(c)物联网;(d)人工智能、神经网络;(e)网络爬虫;(f)数据可视化编程;【中级教程】:以大学计算机Python专业课为基础,深入学习和研究Python高级语法框架、网络爬虫、大数据可视化编程、核心算法及实例开发应用;(明年发布,大学适用)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+// 【竞赛】:收录985、211院校计算机专业Python系列考题,全国计算机蓝桥杯大赛(Python组)试题,对学有余力的重点高中学生提升拓展练习;// 【镇中/仑中/柴中/泰河/明港/滨民/高职】:Python全程公益解答,每人每日限1题,只要上传题目,本站有问必答!(声明: 所有上传的例题将被我们收录题库公益分享)//// 目前社区管理员私下已与 镇中、仑中、柴中、泰河、明港 等宁波北仑周边高中学生家长建立了 Python习题 微信免费咨询答辩沟通渠道(目前已累计解答例题20+);+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+>> 学习流程:【高中】(必修一) >>【笔记】(知识点) >>【模块】(第三方库) >>【微课】(课外拓展) >>【题库】(测评) >> { 终极考场 } 学考 加油!高考 加油!+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+// ↓【高中】:指由浙江教育出版社官方发行的高中同步课程《信息技术》(必修一)课内同步作业参考答案在线解答;(必修课:零基础用户学习-仅限课内同步作业解答)// ↓【笔记】:本栏作为高中必修课的补充,深入系统地全方位学习Python系列基础课程,掌握Python基本语法、自变量、函数、流程控制、算法及经典案例的编程实例分析;// ↓【模块】:新大榭为网友提供部分优秀的Python第三方库模块专题系列知识点的讲解,让学员快速掌握Python优秀第三方库理论知识、编程技巧及实践案例的应用;// ↓【微课】:新大榭论坛新增网红微课图文讲解,为学生提供课外阅读电脑编程专题微课的讲解,进一步拓展学员深入理解编程思维及对多维度算法的掌握及灵活应用;// ↓【题库】:①浙江高中段《信息技术》(必修一)同步配套教材实例 ②全国计算机二级等级考试题库 ③蓝桥杯大赛考试题库 ④宁波本地高中各校区公开习题库 ⑤其他;+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+// ?【作品】:本站原创作品或互联网大佬优秀作品推荐分享(注:新大榭工作室因近期忙于筹备编写Python内部学习资料,当前暂未推出重磅级作品,敬请明年期待~)+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+温馨提示:新大榭于2021年1月正式上线 Python3.X 系列课程,其中 高中教材《信息技术》课堂同步作业解答 已撰写完毕,该课程基于 高中《信息技术》(必修一) 教学大纲,特别适合 新高一 或 新高二 学生在线免费学习,在学习过程中遇到疑难困惑欢迎来社区发帖提问,站长不定时免费亲临授课解答;如果你高考选课为技术,那么本站建议你继续参加提高班课程的学习,我们对部分知识考点做了更加深入的课外拓展训练,部分内容提前渗透了大学编程及算法理论课程,更适合有一定编程基础或学有余力的学生自学辅导。最后,欢迎零基础学生来本站一起在线免费学习python,这个暑假新大榭在这里等你...... “ 携手Python,新大榭与你同行!”+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+特别声明:本栏学习 Python 全程公益免费,但对部分知识点本站设置了会员权限(比如仅浏览看看,只须注册会员就可以了,但如果要下载源代码则一般需要一星以上会员),会员成长按论坛规则,只要用户登陆账号多互动,多发言,常在线,都能记录成长值,很快你就会成长为一星会员、二星会员、三星会员啦!(注:级别越高,福利越多!)+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+《 挑战书 》:不管你是中学、高中还是大学生,如果你自认为 Python 学得还不错,那就来挑战一下我们 200+ 的《题库》吧!+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+题库测评:如成功挑战 50% 题目,学考至少B级以上;如挑战 75% 则高考赋分85分以上;如挑战 90% 则高考赋分可接近满分!(仅限《信息技术》Python编程能力而言)+-----------------------------------------------------------------------------------------------------------------------------题库等级:A 容易题;B 中等题;C 稍难题;D 最难题;【 学考:挑战AB题库,冲刺C题库】│【 高考:挑战ABC题库,冲刺D题库 】 [ 题库等级正在分类中... ]"
- |3 _! z; p; T0 e8 T% l$ o - w=wordcloud.WordCloud(width=1000,font_path="C:\\Windows\\Fonts\\simhei.ttf",height=700)$ V& }3 K A. f* A
- w.generate(" ".join(jieba.lcut(txt)))8 H9 q2 t+ J9 h0 t3 l; r
- w.to_file("新大榭python社区.png")
复制代码
6 A/ r- a$ H* O( Q* @$ ~% n0 a
未优化原始效果图:如下所示 ↑↑↑- c! S% \2 e5 `% D' W8 X' d" q1 M2 C
& Y# ]% u6 s z% i
* O a, M# ]5 W: u1 e% ]
已优化升级版效果图:如下所示 ↑↑↑
! ]5 I, q/ M) {: {, ]注:过滤无效词汇统计(如“的”,“你” 等),新增专用关键词(如“仑中”,“蓝桥杯” 等) 温馨提示:想要详细了解请访问《7361 - 新大榭微课№:016 - 【模块】中文标签云应用实例讲解(原创 - 公开课)》 |
|