全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python实现数据图表

平时压力测试,生成一些数据后分析,直接看 log 不是很直观,前段时间看到公司同事分享了一个绘制图表python 模块 : plotly, 觉得很实用,利用周末时间熟悉下。


plotly

plotly 主页 : https://plot.ly/python/

安装

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

$ sudo pip install plotly

绘图

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

绘制直线图

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

lcd@ubuntu:~/$ cat gen_log.sh 
#!/bin/bash
count=$1
while [ $count -gt 0 ]
do
  sar -n DEV 1 1 | grep "Average:" | grep "eth0" | awk '{print $4,$5,$6}'
  count=$(($count-1))
done
lcd@ubuntu:~/$ sh gen_log.sh 1000 > 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 = 0
    for line in f:
      items = line.split()
      dataset['time'].append(i)
      dataset['rx'].append(items[0])
      dataset['tx'].append(items[1])
      dataset['util'].append(items[2])
      i += 1
      
  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()

生成图表如下所示 :


line_plot

柱形图

#!/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':[35, 26],
        'y2':[33, 30]}
  data_g = []
  tr_y1 = go.Bar(
    x = dataset['x'],
    y = dataset['y1'],
    name = '2016'

  )
  data_g.append(tr_y1)

  tr_y2 = go.Bar(
  x = dataset['x'],
  y = dataset['y2'],
  name = '2017'

  )
  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()


bar char

饼状图

#!/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':[280, 10, 30]}
  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()



# python  # 数据图表  # plotly  # python绘制图表  # Python matplotlib画图实例之绘制拥有彩条的图表  # Python使用plotly绘制数据图表的方法  # 使用Python绘制图表大全总结  # 使用python绘制常用的图表  # 使用Python导出Excel图表以及导出为图片的方法  # python xlsxwriter库生成图表的应用示例  # 离线  # 不是很  # 很简单  # 可以直接  # 所示  # 前段时间  # 平时  # 周末  # 每秒钟  # 压力测试  # 觉得很  # 折线图  # print  # gt  # grep  # Average  # DEV  # sar  # awk  # txt 


相关文章: 如何在阿里云域名上完成建站全流程?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  建站之星代理平台如何选择最佳方案?  常州企业建站如何选择最佳模板?  建站之星各版本价格是多少?  如何在企业微信快速生成手机电脑官网?  简单实现Android文件上传  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  孙琪峥织梦建站教程如何优化数据库安全?  定制建站如何定义?其核心优势是什么?  建站主机解析:虚拟主机配置与服务器选择指南  建站之星会员如何解锁更多建站功能?  家庭建站与云服务器建站,如何选择更优?  如何在自有机房高效搭建专业网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何通过主机屋免费建站教程十分钟搭建网站?  如何快速搭建虚拟主机网站?新手必看指南  如何选择香港主机高效搭建外贸独立站?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  音乐网站服务器如何优化API响应速度?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  如何用wdcp快速搭建高效网站?  如何通过免费商城建站系统源码自定义网站主题与功能?  西安专业网站制作公司有哪些,陕西省建行官方网站?  内部网站制作流程,如何建立公司内部网站?  如何制作算命网站,怎么注册算命网站?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  建站168自助建站系统:快速模板定制与SEO优化指南  如何高效配置IIS服务器搭建网站?  c# 在高并发场景下,委托和接口调用的性能对比  高防服务器租用指南:配置选择与快速部署攻略  北京网站制作公司哪家好一点,北京租房网站有哪些?  建站之星云端配置指南:模板选择与SEO优化一键生成  建站10G流量真的够用吗?如何应对访问高峰?  微信h5制作网站有哪些,免费微信H5页面制作工具?  模具网站制作流程,如何找模具客户?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  制作网站的软件免费下载,免费制作app哪个平台好?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  南宁网站建设制作定制,南宁网站建设可以定制吗?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何快速查询域名建站关键信息? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。