【python】使用plotly生成图表数据
安装
在 ubuntu 环境下,安装 plotly 很简单
python 版本2.7+
- pip install plotly
绘图
在 plotly 网站注册后,可以直接将生成的图片保存到网站上,便于共享保存。
这里使用离线的接口,生成的 html 保存在本地文件
绘制直线图
先随便搞一组数据用来绘制图表
- lcd@ubuntu:~/$ cat gen_log.sh
- #!/bin/bash
- count=$
- while [ $count -gt ]
- do
- sar -n DEV | grep "Average:" | grep "eth0" | awk '{print $4,$5,$6}'
- count=$(($count-))
- done
- lcd@ubuntu:~/$ sh gen_log.sh > log.txt
通过上述脚本,获取每秒钟网卡的3个数据,记录文本,利用 ploty 按时间绘制成直线图,实现如下:
- #!/usr/bin/env python
- import plotly.offline as pltoff
- import plotly.graph_objs as go
- def line_plots(name="line_plots.html"):
- dataset = {
- 'time': [],
- 'rx': [],
- 'tx': [],
- 'util': []
- }
- with open("./log.txt") as f:
- i =
- for line in f:
- items = line.split()
- dataset['time'].append(i)
- dataset['rx'].append(items[])
- dataset['tx'].append(items[])
- dataset['util'].append(items[])
- i +=
- data_g = []
- # 构建 time - rx 数据关系,折线图
- tr_rx = go.Scatter(
- x = dataset['time'],
- y = dataset['rx'],
- name = 'rx')
- data_g.append(tr_rx)
- tr_tx = go.Scatter(
- x = dataset['time'],
- y = dataset['tx'],
- name = 'tx')
- data_g.append(tr_tx)
- tr_util = go.Scatter(
- x = dataset['time'],
- y = dataset['util'],
- name = 'util')
- data_g.append(tr_util)
- # 设置图表布局
- layout = go.Layout(title="Line plots",
- xaxis={'title':'time'}, yaxis={'title':'value'})
- fig = go.Figure(data=data_g, layout=layout)
- # 生成离线html
- pltoff.plot(fig, filename=name)
- if __name__=='__main__':
- line_plots()
生成图表如下所示 :
柱形图
- #!/usr/bin/env python
- import plotly.offline as pltoff
- import plotly.graph_objs as go
- def bar_charts(name="bar_charts.html"):
- dataset = {'x':['man', 'woman'],
- 'y1':[, ],
- 'y2':[, ]}
- data_g = []
- tr_y1 = go.Bar(
- x = dataset['x'],
- y = dataset['y1'],
- name = ''
- )
- data_g.append(tr_y1)
- tr_y2 = go.Bar(
- x = dataset['x'],
- y = dataset['y2'],
- name = ''
- )
- data_g.append(tr_y2)
- layout = go.Layout(title="bar charts",
- xaxis={'title':'x'}, yaxis={'title':'value'})
- fig = go.Figure(data=data_g, layout=layout)
- pltoff.plot(fig, filename=name)
- if __name__=='__main__':
- bar_charts()
饼状图
- #!/usr/bin/env python
- import plotly.offline as pltoff
- import plotly.graph_objs as go
- def pie_charts(name='pie_chart.html'):
- dataset = {
- 'labels':['Windows', 'Linux', 'MacOS'],
- 'values':[, , ]}
- data_g = []
- tr_p = go.Pie(
- labels = dataset['labels'],
- values = dataset['values']
- )
- data_g.append(tr_p)
- layout = go.Layout(title="pie charts")
- fig = go.Figure(data=data_g, layout=layout)
- pltoff.plot(fig, filename=name)
- if __name__=='__main__':
- pie_charts()
原文链接:http://www.jianshu.com/p/c2997494085b
【python】使用plotly生成图表数据的更多相关文章
- python xlsxwriter库生成图表的应用
xlsxwriter可能用过的人并不是很多,不过使用后就会感觉,他的功能让你叹服,除了可以按要求生成你所需要的excel外 还可以加上很形象的各种图,比如柱状图.饼图.折线图等. 请看本人生成的: 这 ...
- python 压缩每周生成的数据文件
为了便于整理部分业务数据,以及存储管理, 写了此脚本.后期如果有需求,再改一下. #!/usr/bin/env python #coding:utf8 import os,sys,time,comma ...
- PHP生成图表pChart
pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class, pData.class, pCache.class,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通 ...
- Python使用plotly绘制数据图表的方法
转载:http://www.jb51.net/article/118936.htm 本篇文章主要介绍了Python使用plotly绘制数据图表的方法,实例分析了plotly绘制的技巧. 导语:使用 p ...
- python 生成图表
python写入excel(xlswriter)--生成图表 折线图 # -*- coding:utf-8 -*- import xlsxwriter # 创建一个excel workbook = x ...
- Python调用matplotlib实现交互式数据可视化图表案例
交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会比较大,但是, ...
- 如何用python抓取js生成的数据 - SegmentFault
如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...
- python脚本批量生成数据
在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...
- [经验总结] 从其它sheet页引用数据生成图表时没有图例的解决办法
1.先给出一个在有数据区域的sheet页中生成的图表,比较全,图表和图例全部都有,如下图: 2.但是如果在其它 sheet页中引用该有数据的sheet数据时并生成图表,生成的图表只有图表区域显示,图例 ...
随机推荐
- 三节课MINI计划第三周
第一部分 微信读书的产品分析 一.任务背景 二.做什么 三.TASK8 业务流程图 四.TASK9 五.周会 六.周报
- 最新 边锋网络java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.边锋网络等10家互联网公司的校招Offer,因为某些自身原因最终选择了边锋网络.6.7月主要是做系统复习.项目复盘.Leet ...
- udevdm命令详解
udevadm 后接一个命令和命令指定选项.它控制了udev运行的行为,处理内核事件,控制事件队列,并且提供简单的调试机制. 选项: --debug 打印错误信息 --version 打印版本信息 - ...
- java Files 和 Path对文件操作
1.拷贝文件 /** * 拷贝文件,生成新的文件名 * @param pathUpload * @return */ private String converUploadFileName(Strin ...
- [转帖]Linux内核剖析(一)Linux的历史
Linux内核剖析(一)Linux的历史 https://www.cnblogs.com/alantu2018/p/8991158.html Unix操作系统 Unix的由来 汤普逊和里奇最早是在贝尔 ...
- java日志框架系列(9):logback框架过滤器(filter)详解
过滤器放在了logback-classic模块中. 1.logback-classic模块中过滤器 分类(2种):常规过滤器.TurboFilter过滤器. 1.常规过滤器 常规过滤器可以通过自定义进 ...
- ARTS 第十周打卡
Algorithm : 做一个 leetcode 的算法题 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: [&quo ...
- go defer 语句会延迟函数的执行直到上层函数返回。
defer code... 可以理解为 执行完当前defer所在的方法代码后执行defer 中的代码 常用在释放资源 比如 关闭文件 为防止忘记编写关闭代码 可以先写好 defer 各种释放资源 ...
- 『Linux』第一节: 部署虚拟环境
一. 准备工具 1. VMware Workstation Pro下载 1.1 VMware Workstation Pro 激活许可证 UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA V ...
- uboot 与 代码重定位
ref: https://blog.csdn.net/dhauwd/article/details/78566668 https://blog.csdn.net/yueqian_scut/articl ...