jqplot和django:从外部python函数中获取y坐标

时间:2015-03-25 16:23:45

标签: python-3.x charts django-views jqplot real-time-data

我正在研究this jqplot chart我想改变

      var y = Math.random();

来自"实时外部功能的一些变量" (i.d.不是来自DB,txt等)。

我尝试过:

c.py

import time

def prova(z):

    z = 0
    while z < 10:
        time.sleep(1)
        z = z + 1
        print(z)

home.html的

...

            <!--[if lt IE 9]><script src="{% static 'jqplot/excanvas.js"></script><![endif]-->
            <script src="{% static 'jquery-1.11.2.js' %}"></script> 

            <script src="{% static 'jqplot/jquery.jqplot.min.js' %}"></script>
            <script src="{% static 'jqplot/plugins/jqplot.dateAxisRenderer.min.js' %}"></script>
            <link rel="stylesheet" type="text/css" href="static/jqplot/jquery.jqplot.min.css" />

            <script src="{% static 'js/provachart.js' %}"></script>
            <div id="myChart" style="height:300px; width:500px;"></div>
            <button>Start Updates</button>

...

provachart.js

    $(document).ready(function(){   

    ... //the code is at the link above


    $('button').click( function(){  
        doUpdate();
        $(this).hide();
    });

    function doUpdate() {

        if(data.length > n-1){
            data.shift();
        }

        // instead of var y = Math.random();
        var y = $get("/conta/");        
 // or  var y = $get("/conta/",function( num ) {
 //                   $( "y" )
 //                   .append(num);});      
        var x = (new Date()).getTime();

        data.push([x,y]);
        if (plot1) {
            plot1.destroy();                                
        }
        plot1.series[0].data = data;                        

        options.axes.xaxis.min = data[0][0];                
        options.axes.xaxis.max = data[data.length-1][0];
        plot1 = $.jqplot ('myChart', [data],options);       
        setTimeout(doUpdate, t);
    }

    })

views.py

        ...
    import c
    def conta(request):
         y= c.prova(0)
         return JsonResponse({'y': y})

// or def conta(request):
//      num = c.prova(0)
//      return JsonResponse({'num': num})
        ...

所以我用这个网址调用我的观点: 的 urls.py

...
url(r'^conta/$', views.conta, name='conta'),
...

我知道,它没有描绘...但我没有任何想法。 我认为这就像this

0 个答案:

没有答案