Как правильно использовать гистограммы с датами - PullRequest
4 голосов
/ 17 февраля 2010

Я вижу эту ссылку, чтобы использовать API диаграммы Google для объединения нескольких линейных диаграмм

Каков рекомендуемый способ размещения дат в нижней строке, так как кажется, что каждая строка на диаграмме имеет одинаковый уровень пространства, поэтому, если у меня есть диаграммы, где их даты и значения, я хочу, чтобы между ними был правильный интервал значения даты (разница в 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 Ответ

2 голосов
/ 17 февраля 2010

В этом примере для хранения года используется строка, поэтому «умного» пробела не произойдет. Однако Google DataTable поддерживает типы столбцов Date и DateTime, так что этого должно хватить для ваших нужд.

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);  

} * * тысяча двадцать-один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...