javascript - 使用从服务器收到的数据更新 Google 图表

标签 javascript google-visualization

如何使用新数据更改图表?我从对服务器的 API 调用中获取数据,我可以在控制台中看到这些数据。如何用它更新图表?

map.on('singleclick', function(evt) {
    var coordinate = evt.coordinate;
    var hdms = ol.proj.transform(
        coordinate, 'EPSG:3857', 'EPSG:4326');
        $.get("http://127.0.0.1:5000/stats?lat="+hdms[1]+"&lon="+hdms[0], 
        function(data) {
             console.log( data );
        });
    );
}

最佳答案

1)首先加载谷歌

google.charts.load 可以替换 --> $(document).ready (或类似的)

2) 创建图表
3)获取数据

类似...

google.charts.load('current', {
    packages: ['corechart']
}).then(function () {
    // save reference to chart here
    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));

    map.on('singleclick', function(evt) {
        var coordinate = evt.coordinate;
        var hdms = ol.proj.transform(
            coordinate, 'EPSG:3857', 'EPSG:4326');
            $.get("http://127.0.0.1:5000/stats?lat="+hdms[1]+"&lon="+hdms[0],
            function(data) {
                console.log( data );
                // draw chart here
                chart.draw(data);
            });
        );
    };
});
<小时/>

更新

您必须创建一个 DataTable绘制图表

创建数据表有几种方法

1) 可以使用JSON,但必须采用以下格式,如 found here

var jsonData = {
  cols: [
    {label: 'x', type: 'number'},
    {label: 'y', type: 'number'}
  ],
  rows: [
    {c:[{v: 0}, {v: 0}]},
    {c:[{v: 1}, {v: 1}]}
  ]
}
var dataTable = new google.visualization.DataTable(jsonData);

2)您可以使用简单的数组数据和静态方法arrayToDataTable

var arrayData = [
  ['x', 'y'],
  [0, 0],
  [1, 1]
];
var dataTable = google.visualization.arrayToDataTable(arrayData);

3) 或手动添加列和行

var dataTable = new google.visualization.DataTable();
dataTable.addColumn('number', 'x');
dataTable.addColumn('number', 'y');
dataTable.addRow([0, 0]);

// -- or addRows --

dataTable.addRows([
  [0, 0],
  [1, 1]
]);

关于javascript - 使用从服务器收到的数据更新 Google 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47797309/

相关文章:

javascript - 地铁 ui css tile 元素选择不起作用

javascript - 如何使用 css 按钮调用 jquery 函数?

javascript - Google 图表 LineGraph 切换数据表和维护状态

javascript - 如果某个字段的字符更多,则 html 页面的标题将 div 调整为向左浮动

javascript - 如何将我作为 json 对象的一部分进入的日期/时间转换为仅日期?

javascript - 如何使用 JSON 数据实现 Google Charts 的样式或属性?

css - 谷歌饼图 : remove border around of pie slices

mysql - 如何将数据从数据库传递到 Google Chart

javascript - 如何同步和显示不同谷歌图表的工具提示?

Javascript防止可拖动div位于父div之外