使用谷歌折线图与日期的正确方法是什么

时间:2010-02-17 14:59:07

标签: charts date

我看到this link to use google chart api将多个折线图放在一起

建议在底线上设置日期的方法是什么,因为看起来图表中的每一行都具有相同的空间水平,所以如果我有图表,其中的日期和值我想要正确的间距日期值(1天差异应不同于1个月的数据点)。

似乎你把日期放在第一列,它使每个“行”保持水平相同的距离。

编辑:我在

下面添加了我的代码
function drawChart() {

        var data = new google.visualization.DataTable();
        data.addColumn('date', 'Date');
        data.addColumn('number', 'Target');
        data.addColumn('number', 'Actual');

        data.addRows(9);

        data.setValue(0, 0, new Date(2010, 1, 1));
        data.setValue(0, 1, 215);
        data.setValue(0, 2, 215);

        data.setValue(1, 0, new Date(2010, 2, 1));
        data.setValue(1, 2, 213);

        data.setValue(2, 0, new Date(2010, 2, 4));
        data.setValue(2, 2, 213);

        data.setValue(3, 0, new Date(2010, 2, 8));
        data.setValue(3, 2, 213);


        data.setValue(4, 0, new Date(2010, 3, 1));
        data.setValue(4, 2, 220);

        data.setValue(5, 0, new Date(2010, 4, 1));
        data.setValue(5, 2, 190);

1 个答案:

答案 0 :(得分:2)

该示例使用字符串存储年份,因此不会出现“智能”间距。但是,Google DataTable支持DateDateTime列类型,因此应该满足您的需求。

http://code.google.com/apis/visualization/documentation/reference.html#DataTable

基本上,而不是调用

...
data.addColumn('string', 'Year');
...

你会做

...
data.addColumn('date', 'TheDate'); // or datetime, depending on your needs

编辑:在这种情况下,您可能需要自己填充日期值。看起来固定间距来自DataTable中的行索引。例如,您可以看到此代码在图表中生成不同间距的数据点:

function drawVisualization() {

    var data = new google.visualization.DataTable();
    data.addColumn('date', 'Date');
    data.addColumn('number', 'Target');

    data.addRows(9);

    data.setValue(0, 0, new Date(2010, 1, 1));
    data.setValue(0, 1, 213);

    data.setValue(3, 0, new Date(2010, 2, 1));
    data.setValue(3, 1, 213);

    data.setValue(4, 0, new Date(2010, 2, 4));
    data.setValue(4, 1, 213);

    data.setValue(5, 0, new Date(2010, 2, 8));
    data.setValue(5, 1, 213);

    new google.visualization.LineChart(document.getElementById('visualization')).draw(data, null);  

}