花几天时间肝了一个在线制作词云图网站
时间:2021-08-07
本文章向大家介绍花几天时间肝了一个在线制作词云图网站,主要包括花几天时间肝了一个在线制作词云图网站使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
大家好,我是辰哥~
背景:看过辰哥往前文章的都知道,在可视化方面经常绘制词云图、折线图、柱状图等。所以为了方便绘制这些图表,辰哥就把这些可视化图的绘制做成可操作的过程。
最近辰哥也是在利用空闲时间做了一个在线制作词云网站(后面会慢慢补上其他的图表),废话不多说,先看一下演示视频
该网站已部署到公网,并且加上了ssl证书(防止浏览器报不安全,哈哈哈)
01 功能介绍
目前该网站只提供绘制词云图,后面会提供其他图的绘制,不过其操作差不多,都是导入数据,选择字段,最后点击生成图。
<div class="form-group optionss" style="position:absolute;">
<!-- <input type="text" class="form-control form-control-xxx" value=""> -->
<!-- <button class="btn btn-sm btn-danger">-</button> -->
<select class="form-control form-select1" id="excelselect" onchange="getSelectValue();"/>
</select>
<select class="form-control form-select1" id="colorselect" onchange="colorSelectValue();"/>
<option value="">背景颜色</option>
<option value="1">白色</option>
<option value="2">黑色</option>
</select>
<button class="btn btn-sm btn-success" onclick="buttonstartdraw()">生成词云图</button>
<button class="btn btn-sm btn-success" onclick="downloadImg()">导出</button>
</div>
访问网站,可以看到样例图,点击上传数据的Excel数据,这里支持各种excel数据的后缀文件(辰哥这里测试了xls、xlsx、csv这三种常用的后缀都没问题)
f = request.files['file']
basepath = os.path.dirname(__file__) # 当前文件所在路径
print(f.filename)
#######################################
# 毫秒级时间戳
file_name = str(round(time.time() * 1000))
dir = str(time.strftime('%y%m%d', time.localtime()))
upload_path = os.path.join(basepath, 'uploads/'+dir)
# 判断文件夹是否存在
if not os.path.exists(upload_path):
os.mkdir(upload_path)
#######################################
file_path = str(file_name)+str(f.filename)
f.save(upload_path+"/"+file_path)
可以预览自己的excel数据,右上角提供搜索excel表功能,翻页等等。这些都是通过开源插件bootstarp-table去实现。
可以选择excel中的任意一个字段去绘制词云图,以及选择词云图的背景颜色。然后点击生成词云图
<style>
#img {
text-align:center;
width:100%;
margin-top: 60px;
}
img{
width: 300px;
overflow: hidden;
margin: 0 auto;
}
#img img{
width: 40%;
transition:all 2s;/*图片放大过程的时间*/
position: relative;
}
img:hover{
cursor: crosshair;
transform: scale(2.0); /*以y轴为中心旋转*/
}
</style>
生成的词云图可以支持放大预览:鼠标放上去,自动放大。
function downloadImg(){
var img = document.getElementById('cyimg'); // 获取要下载的图片
var url = img.src; // 获取图片地址
var a = document.createElement('a'); // 创建一个a节点插入的document
var event = new MouseEvent('click') // 模拟鼠标click点击事件
a.download = 'beautifulGirl' // 设置a节点的download属性值
a.href = url; // 将图片的src赋值给a节点的href
a.dispatchEvent(event) // 触发鼠标点击事件
}
最后点击导出,可以将生成的词云图导出到本地。
02 小结
辰哥接下来会继续更新更多的可视化图,提供给大家去使用,如果对该网站有更好的建议,欢迎在下方留言或者私信辰哥。
网站也会一直放在公网,提供给大家访问,上传的excel和生成的图片都是在第二天清空(网站不提供存储,也不会记录大家的访问以及上传的数据等)
最后再次附上网站地址:https://show.chenlove.cn
耐得住寂寞,才能登得顶
Gitee码云:https://gitee.com/lyc96/projects
原文地址:https://www.cnblogs.com/chenlove/p/15111218.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- windows下部署sentinel模式的Redis主从集群
- tmux | 加固shell
- Windows下离线部署Redis主从集群
- SSH 后门 | Nmap 脚本
- 【Tomcat源码解析】第二章:不用死记硬背记住Tomcat整体架构
- 计划任务后门 | Linux 后门系列
- alias后门 | Linux 后门系列
- vim 后门 | Linux 后门系列
- 个站建设基础教程
- 【Tomcat源码解析】第一章:如何搭建源码阅读环境
- LD_PRELOAD 后门 | Linux 后门系列
- 如何利用k8s拉取私有仓库镜像
- rsyslog queue队列权威指南
- 用LOL获得BUFF场景来看待Guava之事件总线
- 文件&目录小技巧 | Linux后门系列