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

(0)

相关推荐

  • 使用Python导出Excel图表以及导出为图片的方法

    本篇讲下如何使用纯python代码将excel 中的图表导出为图片.这里需要使用的模块有win32com.pythoncom模块. 网上经查询有人已经写好的模块pyxlchart,具体代码如下: from win32com.client import Dispatch import os import pythoncom class Pyxlchart(object): """ This class exports charts in an Excel Spreadsheet

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

    导语:使用 python-plotly 模块来进行压测数据的绘制,并且生成静态 html 页面结果展示. 不少小伙伴在开发过程中都有对模块进行压测的经历,压测结束后大家往往喜欢使用Excel处理压测数据并绘制数据可视化视图,但这样不能很方便的使用web页面进行数据展示.本文将介绍使用python-plotly模块来进行压测数据的绘制,并且生成静态html页面方便结果展示. Plotly简介 Plotly是一款使用JavaScript开发的制图工具,提供了与主流数据分析语言交互的API(如:Pyt

  • 使用python绘制常用的图表

    本文介绍如果使用python汇总常用的图表,与Excel的点选操作相比,用python绘制图表显得比较比较繁琐,尤其提现在对原始数据的处理上.但两者在绘制图表过程中的思路大致相同,Excel中能完成的工作python大多也能做到.为了更清晰的说明使用python绘制图表的过程,我们在汇总图表的代码中进行注解,说明每一行代码的具体作用.并在文章的最后给出了自定义字体和图表配色的对应表. 准备工作 import numpy as np import pandas as pd #导入图表库以进行图表绘

  • 使用Python绘制图表大全总结

    在使用Python绘制图表前,我们需要先安装两个库文件numpy和matplotlib. Numpy是Python开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身数据结构要高效:matplotlib是一个Python的图像框架,使用其绘制出来的图形效果和MATLAB下绘制的图形类似. 下面我通过一些简单的代码介绍如何使用 Python绘图. 一.图形绘制 直方图 importmatplotlib.pyplotasplt importnumpyasnp mu=100 sigma=2

  • python实现数据图表

    平时压力测试,生成一些数据后分析,直接看 log 不是很直观,前段时间看到公司同事分享了一个绘制图表python 模块 : plotly, 觉得很实用,利用周末时间熟悉下. plotly plotly 主页 : https://plot.ly/python/ 安装 在 ubuntu 环境下,安装 plotly 很简单 python 版本2.7+ $ sudo pip install plotly 绘图 在 plotly 网站注册后,可以直接将生成的图片保存到网站上,便于共享保存. 这里使用离线的

  • Python 实操显示数据图表并固定时间长度

    目录 1.非定长的时间轴 2.定长时间轴 实时显示数据 前言: python利用matplotlib库中的plt.ion()函数实现即时数据动态显示: 1.非定长的时间轴 代码示例: # -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import time from math import * plt.ion() #开启interactive mode 成功的关键函数 plt.figure(1)

  • Python中不同图表的数据可视化的实现

    目录 1.直方图 2. 柱形图 3. 箱线图 4.饼图 5.散点图 数据可视化是以图形格式呈现数据.它通过以简单易懂的格式汇总和呈现大量数据,帮助人们理解数据的重要性,并有助于清晰有效地传达信息. 考虑这个给定的数据集,我们将为其绘制不同的图表: 用于分析和呈现数据的不同类型的图表 1.直方图 直方图表示特定现象发生的频率,这些现象位于特定的数值范围内,并以连续和固定的间隔排列. 在下面的代码中绘制直方图Age, Income, Sales.因此,输出中的这些图显示了每个属性的每个唯一值的频率.

  • Python进行数据科学工作的简单入门教程

    Python拥有着极其丰富且稳定的数据科学工具环境.遗憾的是,对不了解的人来说这个环境犹如丛林一般(cue snake joke).在这篇文章中,我会一步一步指导你怎么进入这个PyData丛林. 你可能会问,很多现有的PyData包推荐列表怎么样?我觉得对新手来说提供太多的选择可能会受不了.因此这里不会提供推荐列表,我要讨论的范围很窄,只集中于10%的工具,但它们可以完成你90%的工作.当你掌握这些必要的工具后,你就可以浏览PyData工具的长列表了,选择自己接下来要使用的. 值得一提的是,我介

  • Python实现数据可视化看如何监控你的爬虫状态【推荐】

    今天主要是来说一下怎么可视化来监控你的爬虫的状态. 相信大家在跑爬虫的过程中,也会好奇自己养的爬虫一分钟可以爬多少页面,多大的数据量,当然查询的方式多种多样.今天我来讲一种可视化的方法. 关于爬虫数据在mongodb里的版本我写了一个可以热更新配置的版本,即添加了新的爬虫配置以后,不用重启程序,即可获取刚刚添加的爬虫的状态数据. 1.成品图 这个是监控服务器网速的最后成果,显示的是下载与上传的网速,单位为M.爬虫的原理都是一样的,只不过将数据存到InfluxDB的方式不一样而已, 如下图. 可以

  • 利用Python进行数据可视化常见的9种方法!超实用!

    前言 如同艺术家们用绘画让人们更贴切的感知世界,数据可视化也能让人们更直观的传递数据所要表达的信息. 我们今天就分享一下如何用 Python 简单便捷的完成数据可视化. 其实利用 Python 可视化数据并不是很麻烦,因为 Python 中有两个专用于可视化的库 matplotlib 和 seaborn 能让我们很容易的完成任务. Matplotlib:基于Python的绘图库,提供完全的 2D 支持和部分 3D 图像支持.在跨平台和互动式环境中生成高质量数据时,matplotlib 会很有帮助

  • 基于python plotly交互式图表大全

    plotly可以制作交互式图表,直接上代码: import plotly.offline as py from plotly.graph_objs import Scatter, Layout import plotly.graph_objs as go py.init_notebook_mode(connected=True) import pandas as pd import numpy as np In [412]: #读取数据 df=pd.read_csv('seaborn.csv',

  • 利用python绘制数据曲线图的实现

    "在举国上下万众一心.众志成城做好新冠肺炎疫情防控工作的特殊时刻,我们不能亲临主战场,但我们能坚持在大战中坚定信心.不负韶华." 1.爬取新闻保存为json文件,并将绘图所需数据保存至数据库 数据库表结构: 代码部分: import pymysql import re import sys,urllib,json from urllib import request from datetime import datetime import pandas as pd Today=date

  • python Matplotlib数据可视化(1):简单入门

    1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意味着概念.方法.参数繁多,让许多新手望而却步. 据我了解,大部分人在对matplotlib接触不深时都是边画图边百度,诸如这类的问题,我想大家都似曾相识:Python如何画散点图,matplotlib怎么将坐标轴标签旋转45度,怎么设置图例字体大小等等.无论针对哪一个问题,往往都有多种解决方法,搜索

  • python Matplotlib数据可视化(2):详解三大容器对象与常用设置

    上一篇博客中说到,matplotlib中所有画图元素(artist)分为两类:基本型和容器型.容器型元素包括三种:figure.axes.axis.一次画图的必经流程就是先创建好figure实例,接着由figure去创建一个或者多个axes,然后通过axes实例调用各种方法来添加各种基本型元素,最后通过axes实例本身的各种方法亦或者通过axes获取axis实例实现对各种元素的细节操控. 本篇博客继续上一节的内容,展开介绍三大容器元素创建即通过三大容器可以完成的常用设置. 1 figure 1.

随机推荐