0

我想绘制一个Google Graph来可视化查询的结果。

谁能帮帮我吗 ?我在下面包含了我的代码。谢谢

models.py

class InventoriesApplication(models.Model):
    ROADMAPS = (
        ('R', 'Retire'),
        ('SU', 'Sustain'),
        ('ST', 'Strategic')
    )
    app_name = models.CharField(max_length=45)
    roadmap = models.CharField(max_length=2, choices=ROADMAPS, null = True)

views.py

import json

我使用以下代码序列化我的查询:

def render_chart(request):
    total= InventoriesApplication.objects.values("roadmap").annotate(total=Count('id'))
    return HttpResponse(json.dumps(list(total), cls=DjangoJSONEncoder),content_type='charts.html')

现在我有以下数组:

charts.html
<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

      // Load the Visualization API and the piechart package.
      google.load('visualization', '1.0', {'packages':['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawChart);

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {

        // Create the data table.
        var data = google.visualization.arrayToDataTable({{ total }});                                          

        // Set chart options
        var options = {'title':'Roadmaps'};

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>

  <body>
    <!--Div that will hold the pie chart-->
    <div id="chart_div"></div>
  </body>
</html>

...

4

0 回答 0