I'm trying to draw two separate Google charts and have them share a common x axis. The idea is that I can hover over one chart and see the tooltip appear on the other chart at the correct date.
A little like this but with a tooltip. The focusTarget attribute works great on a single chart, just not both.
I figure I have to somehow create a common date column but am not sure how to go about it.
My working (abbr.) code (so far) to display the charts.
var link = function(scope,element,attrs) {
google.charts.setOnLoadCallback(drawUsageChart);
google.charts.setOnLoadCallback(drawChartOne);
function drawChartOne() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Sessions');
var sessions = [786, 450, 866, 814, 192, 466, 984, 780, 922, 458, 786, 758, 701, 831, 901, 557, 114, 393, 689, 658, 103, 837, 164, 727, 593, 193, 945, 583, 948, 338];
var start = new Date(1458345600 * 1000);
var date;
var dates = [];
for(var i = 0; i < sessions.length; i++) {
var newDate = start.setDate(start.getDate() + 1);
data.addRow([new Date(newDate), sessions[i]]);
}
var options = {title:'Wot',
height:300,
lineWidth: 1.5,
legend: { position: 'none' },
crosshair: {
trigger: 'both',
orientation: 'vertical'
},
focusTarget: 'category',
};
var chart = new google.visualization.LineChart(document.getElementById('mcs-chart'));
chart.draw(data, options);
}
function drawChartTwo() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Other Sessions');
var sessions = [786, 450, 866, 814, 192, 466, 984, 780, 922, 458, 786, 758, 701, 831, 901, 557, 114, 393, 689, 658, 103, 837, 164, 727, 593, 193, 945, 583, 948, 338];
var start = new Date(1458345600 * 1000);
var date;
var dates = [];
for(var i = 0; i < sessions.length; i++) {
var newDate = start.setDate(start.getDate() + 1);
// dates.push(new Date(newDate));
data.addRow([new Date(newDate), sessions[i]]);
}
var options = {
title:'WOOOOT',
height:300,
lineWidth: 1.5,
legend: { position: 'none' },
crosshair: {
trigger: 'both',
orientation: 'vertical'
},
focusTarget: 'category',
};
var chart = new google.visualization.LineChart(document.getElementById('snr-chart'));
chart.draw(data, options);
}
};