使用pytagcloud模块实现标签云

今天学习了数据可视化对标签云实现, 然后就找了一个实例进行练习,使用pytagcloud模块实现标签云。

使用pytagcloud模块实现标签云的过程如下:
首先;根据上面的说明文档,可以知道就是先安装pytagcloud;

  pip install pytagcloud

然后继续在命令行中下安装包pygame,simplejson,安装这个包主要是为了后面的标签字体的选择,然后我是用的一个搜的大神的案例做的,对其代码进行实现:

#我的版本python 3.6.5
from pytagcloud import create_tag_image, make_tags
import re
import time
from collections import Counter
import datetime# 去除内容中的非法字符 (Windows)
def validatecontent(content):# '/\:*?"<>|'rstr = r"[\/\\\:\*\?\"\<\>\|\.\*\+\-\(\)\"\'\(\)\!\?\“\”\,\。\;\:\{\}\{\}\=\%\*\~\·]"new_content = re.sub(rstr, "", content)return new_contentif __name__ == '__main__':# 打印的语言languages = input("选择打印英文按0,打印中文请按1,打印中英结合请按2(默认打印中英结合):")language = 'Microsoft YaHei Mono'try:if languages == "0":language = 'Lobster'elif languages == "1":language = 'Microsoft YaHei Mono'elif languages == "2":language = 'Microsoft YaHei Mono'except:language = 'Microsoft YaHei Mono'# 打印的字体大小fontszs = input("选择特大字体请按0,大字体请按1,中字体请按2,小字体请按3(默认大字体):")fontsz = 90try:if fontszs == "0":fontsz = 180elif fontszs == "1":fontsz = 120elif fontszs == "2":fontsz = 90elif fontszs == "3":fontsz = 60except:fontsz = 120# 图片长宽imglength = 1000imgwidth = 800try:imglengths = int(input("请输入图片长(默认1000):"))if isinstance(imglengths, int) == True:imglength = imglengthsexcept:imglength = 1000try:imgwidths = int(input("请输入图片宽(默认800):"))if isinstance(imgwidths, int) == True:imgwidth = imgwidthsexcept:imgwidth = 800# 背景颜色rcolor = 255gcolor = 255bcolor = 255try:rcolors = int(input("请输入背景颜色RGB格式的R(0-255默认白色):"))if isinstance(rcolors, int) == True:rcolor = rcolorsexcept:rcolor = 255try:gcolors = int(input("请输入背景颜色RGB格式的G(0-255默认白色):"))if isinstance(gcolors, int) == True:gcolor = gcolorsexcept:gcolor = 255try:bcolors = int(input("请输入背景颜色RGB格式的B(0-255默认白色):"))if isinstance(bcolors, int) == True:bcolor = bcolorsexcept:bcolor = 255# 构造# counts =[('cloud', 3),# ('words', 2),# ('code', 1),# ('word', 1),# ('appear', 1)]arr = []file = open('./data/sumary.txt', 'r')data = file.read().split('\r\n')for content in data:contents = validatecontent(content).split()for word in contents:arr.append(word)counts = Counter(arr).items()# 用一个时间来命名nowtime=time.strftime('%Y%H%M%S', time.localtime())# 设置字体大小tags = make_tags(counts, maxsize=int(fontsz))# 生成图片create_tag_image(tags, './result/' + str(nowtime) + '.png', size=(imglength, imgwidth), fontname=language,background=(int(rcolor), int(gcolor), int(bcolor)))create_tag_image(tags,'cloud_large.png',size=(900,600), fontname='Microsoft YaHei Mono')print(('已经储存至./result/' + str(nowtime) + '.png'))

在上述代码中需要注意到的是其中需要用的中文编码文件包Microsoft YaHei Mono.tff文件,该tff文件主要包含英文,和中文微软雅黑字体,可以到自己的python安装目录下的Lib\site-packages\pytagcloud\fonts中有没有相应的tff文字字体中,没有就需要下载了,网盘中有资源(Microsoft YaHei Mono.tff)提取码:oauf,
上述操作完成后,按道理就可以成功显示标签云的结果了。

数据可视化-----标签云的实现相关推荐

  1. springboot毕设项目基于数据可视化的云山川景点日推交流平台gox2x(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目基于数据可视化的云山川景点日推交流平台gox2x(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + ...

  2. [数据可视化] 词云(Word Cloud)

    词云介绍 词云,又称文字云,是文本数据的视觉表示,由词汇组成类似云的彩色图形,用于展示大量文本数据.每个词的重要性以字体大小或颜色显示 词云(Word Cloud)主要用来做文本内容关键词出现的频率分 ...

  3. python 词云_python数据可视化——词云

    阅读本文需要4分钟 词云百度百科:"词云"就是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"关键词渲 ...

  4. Python数据可视化词云展示周董的歌

    马上开始了,你准备好了么 准备工作 环境:Windows + Python3.6 IDE:根据个人喜好,自行选择 模块: Matplotlib是一个 Python 的 2D数学绘图库 pip inst ...

  5. 重组标签云-标签聚类及其评价研究

    重组标签云-标签聚类及其评价研究 AlbertoPérez García-Plaza a*, Arkaitz Zubiaga b, Víctor Fresnoa,Raquel Martínez a a ...

  6. 文本数据可视化中一些概念

    文本数据可视化 词云 词云是一个自动化的文本可视化工具. 词云的特点:1.自动提取高频词:2.呈现高频词:3.字体大小体现单词出现的次数. 文本可视化的重要意义:在于帮助用户快速地完成大量文本阅读和理 ...

  7. 增长率超 100%!东软数据可视化到底什么样?

    2017 年中国大数据可视化市场,收入规模为 12.7 亿元,年增长率为 45.2%. 东软紧随市场趋势,在大数据可视化领域"云下"与"云上"协同发力.&quo ...

  8. echarts的词云图表类型有哪些_数据可视化之常见12种图表类型分析

    数据可视化有众多展现方式,不同的数据类型要选择适合的展现方法,今天友创云天就整理分析了几种常见的类型,给大家提供参考. 1.饼图 饼图是一个划分为几个扇形的圆形统计图表.每个扇形的弧长(以及圆心角和面 ...

  9. ajax将数据显示在class为content的标签中_[原创]数据可视化实战项目

    数据可视化实战项目 NLP 数据可视化 request BeautifulSoup #爬虫所需import requestsfrom bs4 import BeautifulSoup# Nlp可视化所 ...

最新文章

  1. [零基础学JAVA]Java SE应用部分-27.Java IO操作(01)
  2. Java实现内嵌浏览器
  3. 三座”大山“或让谷歌无人机送货项目被冻结
  4. linux下mq的mc.sh在哪?,RocketMQ的安装与使用
  5. 免费OA系统品牌有那些?
  6. 12月中国域名服务商Top20市场份额解析(图)
  7. LeetCode 1845. 座位预约管理系统(set)
  8. Java核心(五)深入理解BIO、NIO、AIO
  9. centos svn服务器端口配置文件,centos下配置svn服务器
  10. ERP火了20年,“中台”仅用5年就消失了?
  11. python三方库之BeautifuSoup
  12. 利用UTL_FILE包实现文件I/O操作
  13. USB抓包工具Bus Hound
  14. jar包上传maven私服出错Cannot deploy artifact from the local repository
  15. ElasticSearch2.1 基于空间位置geo_query距离计算
  16. java web开发实战经典 李兴华_MLDN李兴华JavaWeb开发实战经典(高级案例篇)全部源码...
  17. excel制作折线图
  18. Java核心技术卷一 -第九章:集合
  19. 【小技术】数据库显示“远程过程调用失败”怎么办?
  20. 淘东电商项目(14) -公众号获取注册码功能

热门文章

  1. Gigaphoton出厂最新机型KrF光源“G60K”
  2. Spring Cloud Netfilx Eureka(服务发现工具)
  3. Android工程师未来发展方向以及薪资待遇
  4. java 连接 teradata_java连接teradata
  5. 乳山金岭中学校计算机老师,乳山市金岭中学
  6. FPGA开源网站和论坛介绍
  7. ICMP flood(ICMP洪水攻击)
  8. Intellij IDEA 安装和配置热部署插件JRebel进行项目的热部署
  9. Vmware相关技巧
  10. 康耐视3D-DSMax图像采集详细操作流程