Я вижу эту ссылку для использования 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);
В этом примере для хранения года используется строка, поэтому «умного» интервала не будет. Однако таблица данных Google
поддерживает типы столбцов 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
Edit: в этом случае, вам, вероятно, нужно самостоятельно дополнить значения даты. Похоже, что фиксированный интервал исходит из индекса строки в 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);
}