【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数据时并生成图表,生成的图表只有图表区域显示,图例 ...
随机推荐
- 最新 蚂蚁金服java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.蚂蚁金服等10家互联网公司的校招Offer,因为某些自身原因最终选择了蚂蚁金服.6.7月主要是做系统复习.项目复盘.Leet ...
- Mybatis映射文件sql语句注意事项
1.插入
- Memory Barriers Are Like Source Control Operations
From: http://preshing.com/20120710/memory-barriers-are-like-source-control-operations/ If you use ...
- TypeScript 迭代器(iterator)和生成器(generator)
⒈迭代器(iterator) 1.可迭代性 当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的. 一些内置的类型如 Array,Map,Set,String,Int32Arra ...
- 整合thymeleaf
1.导入thymeleaf依赖 2.controller类 (1)模板 导入命名空间,xmlns:th="http://www.thymeleaf.org" (2)ModelAnd ...
- 笔记-9:使用random库生成随机数
random:主要目的是生成随机数 函数 说明 seed(a=None) 初始化随机数,默认值为当前系统时间 random() 生成一个[0.0,1.0)之间的随机数小数 randint(a,b) 生 ...
- Oracle数据库——用户(USER)
前言 本文将介绍小白入门级别的关于用户的SQL语句.想全面了解的请参考其他资料.例如:Oracle官方文档--CREATE USER 文章目录 前言 创建用户 修改用户密码 授予用户权限 删除用户 ...
- 基于搜索的贝叶斯网络结构学习算法-K2
基于搜索的贝叶斯网络结构学习算法-K2 2018-04-05 19:34:18 ItsBlue 阅读数 3172更多 分类专栏: 贝叶斯网络 网络结构学习 版权声明:本文为博主原创文章,遵循CC ...
- List 集合的常用方法总结
@org.junit.Test public void testListToCompare() { List<String> list1 = new ArrayList<>() ...
- 如何在vscode中调试vue-cli项目?
一:参考官网文档,写的还是很清楚的:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html 二:需要安装的东西和初始项目 2.1 用vue ...