安装

在 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. Laravel用户认证系统的实现细节

    原文地址:http://www.php.cn/php-weizijiaocheng-406076.html 这篇文章主要介绍了关于Laravel用户认证系统的实现细节,有着一定的参考价值,现在分享给大 ...

  2. 最新 三六零java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.三六零等10家互联网公司的校招Offer,因为某些自身原因最终选择了三六零.6.7月主要是做系统复习.项目复盘.LeetCo ...

  3. selenium 获取不了标签文本的解决方法

    selenium 获取不了标签文本的解决方法 ------ 即driver.find_element_by_xxx().text() 为空的解决办法 如果得到的文本只为空,而非我们期望的baidu,那 ...

  4. 逆转单向链表看这一篇就够了【JAVA】

    逆转单向链表 逆转前: 1 -> 2 -> 3 -> 4 -> 5 -> null 逆转后: 5 -> 4 -> 3 -> 2 -> 1 -> ...

  5. Webpack配置开发环境总结

    本文主要讲解webpack.config.js文件的配置,不会讲解webpack是什么,默认你会安装webpack及其它npm包,并对webpack有一些了解. 下面将从webpack.config. ...

  6. [转帖]超详细的EXPDP、IMPDP规范及常用技巧总结

    超详细的EXPDP.IMPDP规范及常用技巧总结 https://www.toutiao.com/i6727232212850180619/ 原创 波波说运维 2019-08-24 00:06:00 ...

  7. [转帖][思路/技术]Mimikatz的多种攻击方式以及防御方式

    [思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能.   ...

  8. Centos7.3安装jenkins

    安装jenkins         下载地址: https://jenkins.io/download/最新版本         将Jenkins上传到tomcat的webapp目录          ...

  9. Python【BeautifulSoup解析和提取网页数据】

    [解析数据] 使用浏览器上网,浏览器会把服务器返回来的HTML源代码翻译为我们能看懂的样子 在爬虫中,也要使用能读懂html的工具,才能提取到想要的数据 [提取数据]是指把我们需要的数据从众多数据中挑 ...

  10. spring cloud微服务实践六

    本片我们就来认识下spring cloud中的zuul组件. 注:这一个系列的开发环境版本为 java1.8, spring boot2.x, spring cloud Greenwich.SR2, ...