GithubHelp home page GithubHelp logo

zerolugithub / dynamic_refresh_highcharts Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pushiqiang/dynamic_refresh_highcharts

0.0 1.0 0.0 6 KB

Highcharts之动态刷新——结合后台数据,flask实现,以内存监控为例

Python 68.22% HTML 31.78%

dynamic_refresh_highcharts's Introduction

dynamic_refresh_highcharts

Highcharts之动态刷新——结合后台数据,flask实现,以内存监控为例

功能:

1.完成监控页面的展示。
2.monitor.py在被监控主机上运行,time.sleep(1)设置每1秒就会取一次数据写入数据库,监控程序monitor.py通过post提交数据到web后台存入数据库。(可以直接存入数据库,不通过flask后台post接口)
3.图表使用的JS为highcharts、highstock 。
3.前台highcharts通过json接口不断到后台get一条最新的数据库加入图表显示,动态刷新。
4.highcharts动态刷新,重点是chart里面的event属性,series属性。此时:series属性是模板渲染是提供的一组数据,而event属性是一个js函数(实现周期性ajax请求数据),highstock代码如下:

<script type="text/javascript">
  var data={{data}}; 
  //创建图表
  var chart;
  $(document).ready(function() {
   Highcharts.setOptions({
    global:{
        useUTC:false
    }
   })
   chart = new Highcharts.StockChart( {
    chart : {
     renderTo : 'container',
     events : {
      load : st// 定时器(函数)
     }
    },
    rangeSelector: {
      inputEnabled: $('#container').width() > 480,
        selected: 1
    },
    exporting:{
     enabled:true
    },
    title : {
     text : '内存使用情况'
    },
    series : [ {
     name: '内存使用情况',
     data : data,
     type: 'spline',
     }]
   });
   
  });
  //2秒钟刷新一次数据
  function st() {
   setInterval("getData()", 1000);
  }
  //动态更新图表数据
  function getData() {
   $.ajax({
      type: "get",
      url: "/new",
      dataType: "json",
      success : function(data){
      chart.series[0].addPoint(data,true,true);

      }
    });
  }
  </script>

运行

@ubuntu:$python flask_web.py 监听在8888端口上。
@ubuntu:
$python monitor.py 采集数据
访问 http://localhost:8888 就可以看到的监控数据了
效果图如下

demo1 demo2

dynamic_refresh_highcharts's People

Contributors

pushiqiang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.