简 介: 使用Python中的响应软件软件包制作应用与中文的词云图片。使用jieba用于中文词语划分。文中对于程序的背景图片以及不同的字体所确定的词云的表现进行了测试。

关键词词云字体背景

#mermaid-svg-qK6hL2SwOYdNcOpf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf .error-icon{fill:#552222;}#mermaid-svg-qK6hL2SwOYdNcOpf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-qK6hL2SwOYdNcOpf .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-qK6hL2SwOYdNcOpf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-qK6hL2SwOYdNcOpf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-qK6hL2SwOYdNcOpf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-qK6hL2SwOYdNcOpf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-qK6hL2SwOYdNcOpf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-qK6hL2SwOYdNcOpf .marker.cross{stroke:#333333;}#mermaid-svg-qK6hL2SwOYdNcOpf svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-qK6hL2SwOYdNcOpf .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf .cluster-label text{fill:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf .cluster-label span{color:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf .label text,#mermaid-svg-qK6hL2SwOYdNcOpf span{fill:#333;color:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf .node rect,#mermaid-svg-qK6hL2SwOYdNcOpf .node circle,#mermaid-svg-qK6hL2SwOYdNcOpf .node ellipse,#mermaid-svg-qK6hL2SwOYdNcOpf .node polygon,#mermaid-svg-qK6hL2SwOYdNcOpf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-qK6hL2SwOYdNcOpf .node .label{text-align:center;}#mermaid-svg-qK6hL2SwOYdNcOpf .node.clickable{cursor:pointer;}#mermaid-svg-qK6hL2SwOYdNcOpf .arrowheadPath{fill:#333333;}#mermaid-svg-qK6hL2SwOYdNcOpf .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-qK6hL2SwOYdNcOpf .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-qK6hL2SwOYdNcOpf .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-qK6hL2SwOYdNcOpf .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-qK6hL2SwOYdNcOpf .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-qK6hL2SwOYdNcOpf .cluster text{fill:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf .cluster span{color:#333;}#mermaid-svg-qK6hL2SwOYdNcOpf div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-qK6hL2SwOYdNcOpf :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

生成词云
目 录
Contents
背景
Python 程序
生成Python程序
几点说明
制作小结

§01 生成词云


一、背景

  在博文 第十六届智能车竞赛全国总决赛究竟该怎么举办讨论中的“混沌”现象 对于微信平台的留言生成对应的 词云 ,根据博文 简单中文词云图的制作 中给出的程序框架,制作了词云生成的模板。

▲ 图1.1 生成的留言词云示例

  词云可以对于一段文字中的主要词语进行形象化表现,在词频角度发现一段语句中的主要词语。

二、Python 程序

1、生成Python程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CWCLOUD.PY                   -- by Dr. ZhuoQing 2021-08-02
#
# Note:
#============================================================
from headm import *
import jieba
from wordcloud              import WordCloud
from PIL                    import Image
filename = r'd:\temp\words.txt'
lines = ''
with open(filename, 'r') as f:lines = (' '.join(f.readlines())).replace('\n', '')
#    printf(lines)
if len(lines) == 0:printf("No words.\a")exit()
#------------------------------------------------------------
cut = jieba.cut(lines)
words = ' '.join(cut)
printf(len(words))
#------------------------------------------------------------
picfile = r'd:\temp\bk.bmp'
img = Image.open(picfile)
img_array = array(img)
wc = WordCloud(background_color='white',mask=img_array,font_path=r'c:\windows\fonts\SIMHEI.TTF')
pltgif = PlotGIF()
for _ in range(20):wc.generate_from_text(words)plt.clf()plt.imshow(wc)plt.axis('off')#plt.show()plt.draw()plt.pause(.1)pltgif.append(plt)
pltgif.save(r'd:\temp\gif1.gif')
#------------------------------------------------------------
#        END OF FILE : CWCLOUD.PY
#============================================================

2、几点说明

(1) 背景图片

  在程序中 picimage是用于确定生成词云边界轮廓的图片。 在 BING中使用 silhouette进行搜索,可以获得各类剪切图片。

▲ 图2.2 使用silhouette在BING的图片搜索到的相关剪切图片

  下面给出几个示例:

【Ⅰ.使用马的剪影】

  下面使用黑色的马坐在背景,可以生成对应的词云图片。

▲ 图2.3 作为背景的图片

▲ 图2.4 生成的词云的图片

【Ⅱ.使用狮子剪影】

▲ 图2.5.1 作为背景的剪切图片

▲ 图2.5.2 使用狮子剪影作为背景生成的词云

【Ⅲ.骑马人剪影图片】

▲ 图2.6.1 骑马人剪影图片

▲ 图2.6.2 使用骑马人生成的词云图片

(2) 字体

  在程序中, 使用WordCloud中的font_path 设置了词云字体。

wc = WordCloud(background_color='white',mask=img_array,font_path=r'c:\windows\fonts\SIMHEI.TTF')

  可以在Windows 的Fonts 知道多种字体。使用“拷贝-粘贴”或者对应的字体的名字。下面测试几款不同的字体所生成的词云。

▲ 图3.1 Windows中的Font目录中的字体

  • RIGOL.TTF 字体:

▲ 图3.2.1 使用 RIGOL字体生成的词云

  • 使用琥珀 STHUPO字体

▲ 图3.2.2 使用 STHUPO 字体生成的词云

  • 使用花纹彩文字体:

▲ 图3.2.3 使用 STCAIYUN 字体生成的词云

§02 制作小结


  下面给出了几个制作词云工具:

  • 7个好用的在线词云生成工具
  • 用Python制作酷炫词云图,原来这么简单!
  • 中文词云制作
  • 超简单:3分钟制作惊艳的词云图

■ 相关文献链接:

  • 第十六届智能车竞赛全国总决赛究竟该怎么举办讨论中的“混沌”现象
  • 词云
  • 简单中文词云图的制作
  • 7个好用的在线词云生成工具
  • 用Python制作酷炫词云图,原来这么简单!
  • 中文词云制作
  • 超简单:3分钟制作惊艳的词云图

● 相关图表链接:

  • 图1.1 生成的留言词云示例
  • 图2.2 使用silhouette在BING的图片搜索到的相关剪切图片
  • 图2.3 作为背景的图片
  • 图2.4 生成的词云的图片
  • 图2.5.1 作为背景的剪切图片
  • 图2.5.2 使用狮子剪影作为背景生成的词云
  • 图2.6.1 骑马人剪影图片
  • 图2.6.2 使用骑马人生成的词云图片
  • 图3.1 Windows中的Font目录中的字体
  • 图3.2.1 使用 RIGOL字体生成的词云
  • 图3.2.2 使用 STHUPO 字体生成的词云
  • 图3.2.3 使用 字体生成的词云

生成中文词云图的制作:带有不同的背板相关推荐

  1. Python生成中文词云图(二):不可指定词云特定的形状和颜色。

    Python生成中文词云图(二):不可指定词云特定的形状和颜色. 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关 ...

  2. Python生成中文词云图(一):可指定特定的词云形状和颜色。

    Python生成中文词云图 什么是词云? 首先,什么是词云呢?词云又叫文字云,是对文本数据中出现频率较高的"关键词"在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从 ...

  3. python删除中文停用词_python词云 wordcloud+jieba生成中文词云图

    简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程.本文需要的两个核心Python类库: jie ...

  4. python词云 wordcloud+jieba生成中文词云图

    简介 Python+jieba+wordcloud+txt+gif生成动态中文词云 本文基于爬虫爬取某微信号三个月的文章为例,展示了生成中文词云的完整过程.本文需要的两个核心Python类库: jie ...

  5. python生成中文词云图

    jieba库是一个非常优秀的中文分词软件,其中一个应用就是来完成一个词云图的设计 首先你需要准备这些库 import jieba import matplotlib.pyplot as plt imp ...

  6. Airtest爬朋友圈并生成中文词云图

    使用Airtest来爬取朋友圈的内容.参考链接,参考链接中的手机滑动的功能在我的实际操作过程不可使用,故对其进行改动. 该部分整体代码如下: # -*- encoding=utf8 -*- __aut ...

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

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

  8. 文本挖掘之WordCloud+Python3快速生成中英文词云图

    引言: "词云",又称文字云,是由词汇组成类似云的彩色图形.可对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或&q ...

  9. 封装汉语自然语言处理中的常用方法(附代码:生成中文词云)

    前叙 该文章写作共花费二十分钟,阅读只需要七分钟左右,读完该文章后,你将学会使用少量代码,将中文小说,中文新闻,或者其他任意一段中文文本生成词云图 背景 在进行汉语自然语言处理时候,经常使用的几个方法 ...

最新文章

  1. 终于有人把数据、信息、算法、统计、概率和数据挖掘都讲明白了!
  2. Git(一)之基本操作详解
  3. 前目的地罗伯森是谁_距离目的地只剩10公里,开车师傅却在高速公路上睡着了...
  4. 工作81:图片间隙问题
  5. C#LeetCode刷题之#101-对称二叉树(Symmetric Tree)
  6. MySQL 数据库“十宗罪”(十大经典错误案例)
  7. html5 js 手机剪切板,JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)...
  8. SDL2源代码分析2:窗口(SDL_Window)
  9. 在HTTPS安全页面中加载HTTP不安全的内容,如何绕过安全警告?
  10. DOM基础操作(三)
  11. Android中将一个图片切割成多个图片
  12. IOS UIAlertView 提示视图
  13. BZOJ——T 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
  14. java大学实用教程(第四版)_Java大学实用教程(第4版)
  15. 使用SQL查询分析器删除所有用户表
  16. 《神经网络与深度学习》——邱锡鹏(读书笔记_C2_1)
  17. forwarding
  18. ESP-01S烧录MQTT固件连接阿里云
  19. 王刚日记:在互联网第一次赚到钱
  20. 采访 | 苹果菲尔·席勒:Face ID非常独特 其他家的人脸识别都很糟糕

热门文章

  1. Linux下使用ssh密钥实现无交互备份
  2. java selenium (十四) 处理Iframe 中的元素
  3. 导入自定义模块model
  4. Android 屏幕截图
  5. FusionChart
  6. Android杂谈--ListView之BaseAdapter的使用二(转)
  7. 依那西普速诱导RA快速缓解预示临床和放射学持久缓解
  8. InstallShield9中开始菜单的设置
  9. jsp页面生成验证码且验证
  10. Java中的回调函数学习-深入浅出