安装

在 ubuntu 环境下,安装 plotly 很简单
python 版本2.7+

  1. pip install plotly

绘图

在 plotly 网站注册后,可以直接将生成的图片保存到网站上,便于共享保存。
这里使用离线的接口,生成的 html 保存在本地文件

绘制直线图

先随便搞一组数据用来绘制图表

  1. lcd@ubuntu:~/$ cat gen_log.sh
  2. #!/bin/bash
  3. count=$
  4. while [ $count -gt ]
  5. do
  6. sar -n DEV | grep "Average:" | grep "eth0" | awk '{print $4,$5,$6}'
  7. count=$(($count-))
  8. done
  9. lcd@ubuntu:~/$ sh gen_log.sh > log.txt

通过上述脚本,获取每秒钟网卡的3个数据,记录文本,利用 ploty 按时间绘制成直线图,实现如下:

  1. #!/usr/bin/env python
  2. import plotly.offline as pltoff
  3. import plotly.graph_objs as go
  4.  
  5. def line_plots(name="line_plots.html"):
  6. dataset = {
  7. 'time': [],
  8. 'rx': [],
  9. 'tx': [],
  10. 'util': []
  11. }
  12. with open("./log.txt") as f:
  13. i =
  14. for line in f:
  15. items = line.split()
  16. dataset['time'].append(i)
  17. dataset['rx'].append(items[])
  18. dataset['tx'].append(items[])
  19. dataset['util'].append(items[])
  20. i +=
  21.  
  22. data_g = []
  23. # 构建 time - rx 数据关系,折线图
  24. tr_rx = go.Scatter(
  25. x = dataset['time'],
  26. y = dataset['rx'],
  27. name = 'rx')
  28. data_g.append(tr_rx)
  29.  
  30. tr_tx = go.Scatter(
  31. x = dataset['time'],
  32. y = dataset['tx'],
  33. name = 'tx')
  34. data_g.append(tr_tx)
  35.  
  36. tr_util = go.Scatter(
  37. x = dataset['time'],
  38. y = dataset['util'],
  39. name = 'util')
  40. data_g.append(tr_util)
  41.  
  42. # 设置图表布局
  43. layout = go.Layout(title="Line plots",
  44. xaxis={'title':'time'}, yaxis={'title':'value'})
  45. fig = go.Figure(data=data_g, layout=layout)
  46. # 生成离线html
  47. pltoff.plot(fig, filename=name)
  48.  
  49. if __name__=='__main__':
  50. line_plots()

生成图表如下所示 :

柱形图

  1. #!/usr/bin/env python
  2. import plotly.offline as pltoff
  3. import plotly.graph_objs as go
  4.  
  5. def bar_charts(name="bar_charts.html"):
  6. dataset = {'x':['man', 'woman'],
  7. 'y1':[, ],
  8. 'y2':[, ]}
  9. data_g = []
  10. tr_y1 = go.Bar(
  11. x = dataset['x'],
  12. y = dataset['y1'],
  13. name = ''
  14.  
  15. )
  16. data_g.append(tr_y1)
  17.  
  18. tr_y2 = go.Bar(
  19. x = dataset['x'],
  20. y = dataset['y2'],
  21. name = ''
  22.  
  23. )
  24. data_g.append(tr_y2)
  25. layout = go.Layout(title="bar charts",
  26. xaxis={'title':'x'}, yaxis={'title':'value'})
  27. fig = go.Figure(data=data_g, layout=layout)
  28. pltoff.plot(fig, filename=name)
  29.  
  30. if __name__=='__main__':
  31. bar_charts()

饼状图

  1. #!/usr/bin/env python
  2. import plotly.offline as pltoff
  3. import plotly.graph_objs as go
  4.  
  5. def pie_charts(name='pie_chart.html'):
  6. dataset = {
  7. 'labels':['Windows', 'Linux', 'MacOS'],
  8. 'values':[, , ]}
  9. data_g = []
  10. tr_p = go.Pie(
  11. labels = dataset['labels'],
  12. values = dataset['values']
  13.  
  14. )
  15. data_g.append(tr_p)
  16. layout = go.Layout(title="pie charts")
  17. fig = go.Figure(data=data_g, layout=layout)
  18. pltoff.plot(fig, filename=name)
  19.  
  20. if __name__=='__main__':
  21. 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. 三节课MINI计划第三周

    第一部分     微信读书的产品分析 一.任务背景 二.做什么 三.TASK8     业务流程图 四.TASK9 五.周会 六.周报

  2. 最新 边锋网络java校招面经 (含整理过的面试题大全)

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

  3. udevdm命令详解

    udevadm 后接一个命令和命令指定选项.它控制了udev运行的行为,处理内核事件,控制事件队列,并且提供简单的调试机制. 选项: --debug 打印错误信息 --version 打印版本信息 - ...

  4. java Files 和 Path对文件操作

    1.拷贝文件 /** * 拷贝文件,生成新的文件名 * @param pathUpload * @return */ private String converUploadFileName(Strin ...

  5. [转帖]Linux内核剖析(一)Linux的历史

    Linux内核剖析(一)Linux的历史 https://www.cnblogs.com/alantu2018/p/8991158.html Unix操作系统 Unix的由来 汤普逊和里奇最早是在贝尔 ...

  6. java日志框架系列(9):logback框架过滤器(filter)详解

    过滤器放在了logback-classic模块中. 1.logback-classic模块中过滤器 分类(2种):常规过滤器.TurboFilter过滤器. 1.常规过滤器 常规过滤器可以通过自定义进 ...

  7. ARTS 第十周打卡

    Algorithm : 做一个 leetcode 的算法题 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: [&quo ...

  8. go defer 语句会延迟函数的执行直到上层函数返回。

    defer code... 可以理解为 执行完当前defer所在的方法代码后执行defer 中的代码 常用在释放资源 比如 关闭文件 为防止忘记编写关闭代码 可以先写好   defer  各种释放资源 ...

  9. 『Linux』第一节: 部署虚拟环境

    一. 准备工具 1. VMware Workstation Pro下载 1.1 VMware Workstation Pro 激活许可证 UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA V ...

  10. uboot 与 代码重定位

    ref: https://blog.csdn.net/dhauwd/article/details/78566668 https://blog.csdn.net/yueqian_scut/articl ...