【问题标题】:Plotting Google Visualization Chart with php and ajax用 php 和 ajax 绘制谷歌可视化图表
【发布时间】:2018-08-19 04:58:11
【问题描述】:

我正在做的是:我编写了一个 javascript 代码,它将在我的网页中绘制一个 Google 可视化饼图。脚本使用ajax从php文件中获取数据,php执行数据库操作并以json格式显示所需数据。

问题是我无法获得确切的图表,而是获得了一个 100% 写在饼图中的图表,除此之外还有其他内容。请看附图。

<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});  
google.charts.setOnLoadCallback(drawChart);
function drawChart() 
{
  var jsonData = $.ajax({
                          url: "getdata.php?tab=Cr",
                          dataType: "json",
                          async: false
                        }).responseText;
  var data = new google.visualization.DataTable(jsonData);
  var options = {'title':'Numbers', 'width':500, 'height':350};
  var chart = new 
  google.visualization.PieChart(document.getElementById('piechart'));
  chart.draw(data, options);
}
</script>

getdata.php?tab=Cr 的输出

{"cols":
        [  {"id":"Department","type":"string"},
           {"id":"Count","type":"number"}],
 "rows":[
           {"c":[{"v":"IT"},{"v":"10"}]},
           {"c":[{"v":"EEE"},{"v":"1"}]},
           {"c":[{"v":"EC"},{"v":"2"}]},
           {"c":[{"v":"ME"},{"v":"2"}]},
           {"c":[{"v":"CS"},{"v":"3"}]},
           {"c":[{"v":"MT"},{"v":"20"}]},
           {"c":[{"v":"CH"},{"v":"3"}]},
           {"c":[{"v":"CIVIL"},{"v":"4"}]}
       ]
 }

请帮我获取图表旁边带有部门名称的预期图表。

【问题讨论】:

    标签: javascript php charts google-visualization


    【解决方案1】:

    需要删除数字列周围的引号"

    是 --> {"v":10}

    没有 --> {"v":"10"}

    请参阅以下工作 sn-p...

    google.charts.load('current', {
      packages: ['corechart']
    }).then(function () {
      var data = new google.visualization.DataTable({
        "cols": [
          {"id":"Department","type":"string"},
          {"id":"Count","type":"number"}
        ],
         "rows":[
          {"c":[{"v":"IT"},{"v":10}]},
          {"c":[{"v":"EEE"},{"v":1}]},
          {"c":[{"v":"EC"},{"v":2}]},
          {"c":[{"v":"ME"},{"v":2}]},
          {"c":[{"v":"CS"},{"v":3}]},
          {"c":[{"v":"MT"},{"v":20}]},
          {"c":[{"v":"CH"},{"v":3}]},
          {"c":[{"v":"CIVIL"},{"v":4}]}
        ]
      });
      var options = {'title':'Numbers', 'width':500, 'height':350};
      var chart = new
      google.visualization.PieChart(document.getElementById('piechart'));
      chart.draw(data, options);
    });
    <script src="https://www.gstatic.com/charts/loader.js"></script>
    <div id="piechart"></div>

    【讨论】:

    • 是的,我更改了我的 php 代码以获取不带引号的输出。谢谢你的工作。我知道我的错,第二列的数据类型是数字并且正在传递字符串。
    猜你喜欢
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2013-01-01
    相关资源
    最近更新 更多