安装

在 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生成图表数据的更多相关文章

  1. python xlsxwriter库生成图表的应用

    xlsxwriter可能用过的人并不是很多,不过使用后就会感觉,他的功能让你叹服,除了可以按要求生成你所需要的excel外 还可以加上很形象的各种图,比如柱状图.饼图.折线图等. 请看本人生成的: 这 ...

  2. python 压缩每周生成的数据文件

    为了便于整理部分业务数据,以及存储管理, 写了此脚本.后期如果有需求,再改一下. #!/usr/bin/env python #coding:utf8 import os,sys,time,comma ...

  3. PHP生成图表pChart

    pChart是一个开源的图表生成库,主要涉及3个Class:pChart.class, pData.class, pCache.class,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通 ...

  4. Python使用plotly绘制数据图表的方法

    转载:http://www.jb51.net/article/118936.htm 本篇文章主要介绍了Python使用plotly绘制数据图表的方法,实例分析了plotly绘制的技巧. 导语:使用 p ...

  5. python 生成图表

    python写入excel(xlswriter)--生成图表 折线图 # -*- coding:utf-8 -*- import xlsxwriter # 创建一个excel workbook = x ...

  6. Python调用matplotlib实现交互式数据可视化图表案例

    交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会比较大,但是, ...

  7. 如何用python抓取js生成的数据 - SegmentFault

    如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...

  8. python脚本批量生成数据

    在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家 ...

  9. [经验总结] 从其它sheet页引用数据生成图表时没有图例的解决办法

    1.先给出一个在有数据区域的sheet页中生成的图表,比较全,图表和图例全部都有,如下图: 2.但是如果在其它 sheet页中引用该有数据的sheet数据时并生成图表,生成的图表只有图表区域显示,图例 ...

随机推荐

  1. mysql 数据库批量刷新表字段数据

    UPDATE a,bSET b.studentno = a.studentnumber WHERE b.studentno IS NULL AND a.p_id = b.p_id

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验四 《Android程序设计》 实验报告

    实验四 Android程序设计 实验要求 参考Android开发简易教程 完成云班课中的检查点,也可以先完成实验报告,直接提交.注意不能只有截图,要有知识点,原理,遇到的问题和解决过程等说明.实验报告 ...

  3. [转帖]谷歌TF2.0凌晨发布!“改变一切,力压PyTorch”

    谷歌TF2.0凌晨发布!“改变一切,力压PyTorch” https://news.cnblogs.com/n/641707/ 投递人 itwriter 发布于 2019-10-01 12:38 评论 ...

  4. 【C++札记】指针函数与函数指针

    指针函数 指针函数是一个函数,只不过指针函数返回的类型是某一类型的指针. 格式: 类型名* 函数名(函数参数列表) 如下代码存在问题 void test(char *p) { p = (char*)m ...

  5. 笔记-9:使用random库生成随机数

    random:主要目的是生成随机数 函数 说明 seed(a=None) 初始化随机数,默认值为当前系统时间 random() 生成一个[0.0,1.0)之间的随机数小数 randint(a,b) 生 ...

  6. WUSTOJ 1246: 字符串排序(Java)

    1246: 字符串排序 题目   输入n(n<100)个字符串,每个字符串长度不超过1000,将他们按字典顺序输出.更过内容点击标题. 分析   Java中的ArrayList()可以比较方便的 ...

  7. Yii2.0 RESTful API 之速率限制

    Yii2.0 RESTFul API 之速率限制 什么是速率限制? 权威指南翻译过来为限流,为防止滥用,你应该考虑对您的 API 限流. 例如,您可以限制每个用户 10 分钟内最多调用 API 100 ...

  8. 整理下线段树吧 poj hotel

    除了上次的新学的有 区间更新 延迟更新  区间合并 先说下区间更新以及延迟更新吧 既然是对区间的维护 在求解一些问题的时候 有的时候没有必要对所有的自区间都进行遍历 这个时候 延迟标记就派上用场了 ( ...

  9. DotNet跨平台 - docker部署.net core2.0项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  10. JS基础_构造函数修改

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...