I have a strange issue that I'm baffled with but I'm sure someone in here will know what I'm doing wrong. All my dates are displaying incorrectly (i.e. June is displaying July, July is displaying August)
My code here:
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawVisualization);
// Callback that creates and populates a data table,
// instantiates the pie chart, passes in the data and
// draws it.
function drawVisualization() {
var chartTable = new google.visualization.DataTable();
chartTable.addColumn('date', 'Date');
chartTable.addColumn('number', 'Sell');
chartTable.addColumn('number', 'GP');
chartTable.addRows(6);
chartTable.setValue(0, 0, new Date( 2011, 06, 22 ));
chartTable.setValue(0, 1, 1316.90);
chartTable.setValue(0, 2, 456.05);
chartTable.setValue(1, 0, new Date( 2011, 06, 21 ));
chartTable.setValue(1, 1, 1793.70);
chartTable.setValue(1, 2, 531.10);
chartTable.setValue(2, 0, new Date( 2011, 06, 20 ));
chartTable.setValue(2, 1, 13559.25);
chartTable.setValue(2, 2, 1337.75);
chartTable.setValue(3, 0, new Date( 2011, 06, 17 ));
chartTable.setValue(3, 1, 3034.15);
chartTable.setValue(3, 2, 892.30);
chartTable.setValue(4, 0, new Date( 2011, 06, 16 ));
chartTable.setValue(4, 1, 568.45);
chartTable.setValue(4, 2, 175.05);
chartTable.setValue(5, 0, new Date( 2011, 06, 15 ));
chartTable.setValue(5, 1, 7203.85);
chartTable.setValue(5, 2, 1343.45);
var date_formatter = new google.visualization.DateFormat({pattern: 'EEE, MMM-d'});
date_formatter.format(chartTable, 0); // Apply format to first column of table
var currency_formatter = new google.visualization.NumberFormat({prefix: '$'});
currency_formatter.format(chartTable, 1); // Apply format to second column of chart
currency_formatter.format(chartTable, 2); // Apply format to third column of chart
// Create and draw the visualization.
chart = new google.visualization.LineChart(document.getElementById('chart'));
chart.draw(chartTable, {width: 900, height: 400, title: 'Sales Summary',
vAxis: {maxValue: 20000, format: '$##,###', viewWindowMode: 'maximized'},
hAxis: {direction: -1}
});
Is displaying all data correctly EXCEPT the date - instead of displaying on the chart June it is displaying July??? Same days of the month but the month is wrong?
This article relies excessively on references to primary sources. Please improve this by adding secondary or tertiary sources. The Google Chart API is an interactive Web service (now deprecated) that creates graphical charts from user-supplied data.
arrayToDataTable()This helper function creates and populates a DataTable using a single call. Advantages: Very simple and readable code executed in the browser.
Use noData() method to enable "No data" label: chart. noData().
The javascript Date object begins counting months at 00, so 00 = January, 01 = February, etc... So when you construct your dates using '06' in the month field, it's actually the 7th month, or July
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With