javascript - Google 折线图添加对象数组

标签 javascript google-visualization

我有一个通过解析 JSON 字符串创建的对象数组:

    var measurementData = @Html.Raw(JsonConvert.SerializeObject(this.Model.Item1));
    var stringifiedData = JSON.stringify(measurementData);
    var parsedData = JSON.parse(stringifiedData);

这为我提供了许多对象,具体取决于模型,如下所示:

enter image description here

现在我的问题是,如何将它们添加到 Google 折线图中,而不必将其硬编码到数据表中?

这就是我现在所拥有的,它有点作用:

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'TimeStamp');
        data.addColumn('number', selectedMeasurements);

        data.addRows([
            [parsedData[index[0]].TimeStamp, parsedData[index[0]][selectedMeasurements]],
            [parsedData[index[1]].TimeStamp, parsedData[index[1]][selectedMeasurements]]
        ]);

        chart.draw(data, options, {
            isStacked: true,
            vAxis: {
                viewWindowMode: 'explicit',
                viewWindow: {
                    max: 100,
                    min: 0
                }
            }
        });

这里我将两个包含数据的数组添加到数据表中,因为要添加两个对象。但如果我只有一个怎么办?还是10个?我想象 .addRows 中有某种 foreach 但我不确定如何实现这一点。

感谢任何帮助!

最佳答案

您可以使用“setValue(rowIndex,columnIndex,value)”方法:

var jsonData = '[{"SlideId":"D2011", "InstrumentId":"I335", "IncMin":"37.13", "IncMax": "37.19", "BrMin":"31.4"}, {"SlideId":"D2014", "InstrumentId":"I335", "IncMin":"37.13", "IncMax": "37.19", "BrMin":"31.4"}]';

var parsedData = JSON.parse(jsonData);
var len = parsedData.length;

var data = new google.visualization.DataTable();
data.addColumn('string', 'TimeStamp');
data.addColumn('number', selectedMeasurements);

data.addRows(len);

for (var n = 0; n < len; n++) {
    var i=0;
    for (var key in parsedData[n]) {
        data.setValue(n, i, parsedData[n][key]);
        i++;
    }
}

chart.draw(data, options, {
        isStacked: true,
        vAxis: {
            viewWindowMode: 'explicit',
            viewWindow: {
                max: 100,
                min: 0
            }
        }
});

http://jsfiddle.net/mblenton/qnusuLtn/2/

关于javascript - Google 折线图添加对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33281326/

相关文章:

javascript - 向图表添加噪声(Google 图表 API)

javascript - 如何正确执行此条件提及正则表达式?

javascript - Google 图表 API 设置选择 选择要突出显示的系列

google-visualization - 如何使 Google Charts 正确缩放扩展编码线图?

javascript - 在 Node.js Express 应用程序中,req.body 没有获取 &lt;textarea&gt; 值?

javascript - 如何在不更改其自身样式的情况下向 google.visualization.DataTable 添加单独的样式

r - gvisMerge + gvisAnnotatedTimeLine公共(public)RangeSelector

javascript - 将数组映射到以奇数元素为键、偶数元素为值的对象

php - 当客户端禁用 Javascript 时,有没有办法从 PHP 执行外部 Javascript?

javascript - 类型 ORM QueryFailedError PostgreSQL