Python3基于plotly模块保存图片表格


Posted in Python onAugust 03, 2020

使用plotly模块保存图片

目的

使用Python3的Plotly模块,实现对数据库数据的读取,然后形成Table表格,并通过钉钉机器人定时发送到钉钉群组。

难点

Plotly本身是通过html页面展示的,先要把图片保存下来需要安装一些其他的包;通过网上的无数文章都是错误的,弄了将近两天才把环境搞得,不得不感慨一下,下面就自己总结成文,飞快的就能搞定。

步骤

1、环境

CentOS Linux release 7.6.1810 (Core)

2、Python环境1)安装pip与pip32)安装Python3

3、基本库安装psutil

pip3 install psutil requests

4、使用plotly模块必须得安装orca

wget https://github.com/plotly/orca/releases/download/v1.2.1/orca-1.2.1-x86_64.AppImage
chmod +x orca-1.2.1-x86_64.AppImage
 
# 绝对路径
ln -s /root/orca-1.2.1-x86_64.AppImage /usr/bin/orca# 看orca命令是否可以显示正确,如果报依赖包的错误,可以看下一个步骤,是主要的一些依赖包
orca --help

5、orca安装相关得系统依赖包

yum install fuse-libs-2.9.2-11.el7.x86_64
yum install gtk2-2.24.31-1.el7.x86_64
yum install desktop-file-utils
yum install Xvfb
yum install xdg-utils-1.1.0-0.17.20120809git.el7.noarch

Tips:

这里报依赖包没找到的话,你又不知道安装什么样的依赖包,那就通过这个命令去获取 yum provides

yum provides libfuse.so.2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.heanet.ie
 * extras: ftp.heanet.ie
 * updates: ftp.heanet.ie
fuse-libs-2.9.2-11.el7.i686 : File System in Userspace (FUSE) libraries
Repo : base
Matched from:
Provides : libfuse.so.2

6、添加脚本executable.sh

orca 执行不报错后,执行脚本executable.sh,里面的文件路径为第4步下载的文件

#!/bin/bash
xvfb-run -a /root/orca-X.Y.Z-x86_64.AppImage "$@"

7、测试

import plotly.graph_objects as go
import plotly.io as pio
fig = go.Figure(data=[go.Table(header=dict(values=['A Scores', 'B Scores']),
         cells=dict(values=[[100, 90, 80, 90], [95, 85, 75, 95]]))
           ])
pio.write_image(fig, '1.png')

执行完这个脚本后,就会发现当前目录下有一个1.png,就是我们保存的图片,后续的话就可以通过钉钉的告警脚本把图片发送到钉钉群组里。

Python3基于plotly模块保存图片表格

使用shell生成表格:

可以根据makedown格式生成固定格式的表格文件,然后使用typora之类的工具打开,并复制到excel文件中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现汉诺塔递归算法经典案例
Mar 01 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
Django框架使用内置方法实现登录功能详解
Jun 12 Python
使用python实现简单五子棋游戏
Jun 18 Python
用python写测试数据文件过程解析
Sep 25 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 Python
详解Python的爬虫框架 Scrapy
Aug 03 #Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 #Python
Python pexpect模块及shell脚本except原理解析
Aug 03 #Python
python爬虫使用正则爬取网站的实现
Aug 03 #Python
python获取整个网页源码的方法
Aug 03 #Python
flask开启多线程的具体方法
Aug 02 #Python
基于opencv实现简单画板功能
Aug 02 #Python
You might like
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
jQuery EasyUI中对表格进行编辑的实现代码
2010/06/10 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
Vue精简版风格概述
2018/01/30 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
Linux操作面试题
2015/02/11 面试题
高三政治教学反思
2014/02/06 职场文书
商务司机岗位职责
2015/04/10 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL