Python3使用plotly模块保存图片与shell下生成表格
使用plotly模块保存图片
目的
使用Python3的Plotly模块,实现对数据库数据的读取,然后形成Table表格,并通过钉钉机器人定时发送到钉钉群组。
难点
Plotly本身是通过html页面展示的,先要把图片保存下来需要安装一些其他的包;通过网上的无数文章都是错误的,弄了将近两天才把环境搞得,不得不感慨一下,下面就自己总结成文,飞快的就能搞定。
步骤
1、环境
CentOS Linux release 7.6.1810 (Core)
2、Python环境
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,就是我们保存的图片,后续的话就可以通过钉钉的告警脚本把图片发送到钉钉群组里。
使用shell生成表格:
可以根据makedown格式生成固定格式的表格文件,然后使用typora之类的工具打开,并复制到excel文件中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通