In JavaScript, and most other languages, the Date constructor with number arguments uses months that are indexed starting at 0. So month 1 is actually February, and 12 is January of the next year. That would appear to be the source of the problem you are seeing.
On Tue, Jan 2, 2018 at 11:25 AM, Matthew Hait <[email protected]> wrote: > Using Google Line Chart to display parts per hour. On a year rollover, the > chart sifts the data to start at the beginning of the latest year. Data is > inserted using PHP. Using this data for testing causes the same issue. The > picture shows data being dated in January 2018. Last date in data is [new > Date(2018, 1, 2, 11, 00, 00), 3]. > > > <https://lh3.googleusercontent.com/-jOOi2HCM6Xo/Wkuxay4G7UI/AAAAAAAAABE/6FBKwvBtbj4vLj4n2HbsJTWCdR6hqGpaACLcBGAs/s1600/LineChart.PNG> > > JavaScript: > > <script type="text/javascript"> > google.charts.load('current', {'packages':['corechart']}); > google.charts.setOnLoadCallback(drawSarahChart); > google.charts.setOnLoadCallback(drawAnthonyChart); > google.charts.setOnLoadCallback(onechart); > google.charts.setOnLoadCallback(linechart); > function linechart() { > var data = new google.visualization.DataTable(); > data.addColumn('datetime', 'Date'); > data.addColumn('number', 'both hand(s)'); > data.addRows([ > [new Date(2017, 12, 2, 0, 00, 00), 20], > [new Date(2017, 12, 2, 1, 00, 00), 22], > [new Date(2017, 12, 2, 2, 00, 00), 22], > [new Date(2017, 12, 4, 4, 00, 00), 2], > [new Date(2017, 12, 4, 5, 00, 00), 27], > [new Date(2017, 12, 4, 6, 00, 00), 27], > [new Date(2017, 12, 4, 7, 00, 00), 27], > [new Date(2017, 12, 4, 8, 00, 00), 24], > [new Date(2017, 12, 4, 9, 00, 00), 25], > [new Date(2017, 12, 4, 10, 00, 00), 29], > [new Date(2017, 12, 4, 11, 00, 00), 32], > [new Date(2017, 12, 4, 12, 00, 00), 22], > [new Date(2017, 12, 4, 13, 00, 00), 26], > [new Date(2017, 12, 4, 14, 00, 00), 23], > [new Date(2017, 12, 4, 15, 00, 00), 19], > [new Date(2017, 12, 4, 16, 00, 00), 27], > [new Date(2017, 12, 4, 17, 00, 00), 26], > [new Date(2017, 12, 4, 18, 00, 00), 25], > [new Date(2017, 12, 4, 19, 00, 00), 23], > [new Date(2017, 12, 4, 20, 00, 00), 18], > [new Date(2017, 12, 4, 21, 00, 00), 28], > [new Date(2017, 12, 4, 22, 00, 00), 25], > [new Date(2017, 12, 4, 23, 00, 00), 27], > [new Date(2017, 12, 5, 0, 00, 00), 26], > [new Date(2017, 12, 5, 1, 00, 00), 25], > [new Date(2017, 12, 5, 2, 00, 00), 21], > [new Date(2017, 12, 5, 3, 00, 00), 28], > [new Date(2017, 12, 5, 4, 00, 00), 28], > [new Date(2017, 12, 5, 5, 00, 00), 7], > [new Date(2017, 12, 5, 6, 00, 00), 26], > [new Date(2017, 12, 5, 7, 00, 00), 28], > [new Date(2017, 12, 5, 8, 00, 00), 28], > [new Date(2017, 12, 5, 9, 00, 00), 28], > [new Date(2017, 12, 5, 10, 00, 00), 29], > [new Date(2017, 12, 5, 11, 00, 00), 28], > [new Date(2017, 12, 5, 12, 00, 00), 28], > [new Date(2017, 12, 5, 13, 00, 00), 31], > [new Date(2017, 12, 5, 14, 00, 00), 26], > [new Date(2017, 12, 5, 15, 00, 00), 26], > [new Date(2017, 12, 5, 16, 00, 00), 31], > [new Date(2017, 12, 5, 17, 00, 00), 24], > [new Date(2017, 12, 5, 18, 00, 00), 24], > [new Date(2017, 12, 5, 19, 00, 00), 23], > [new Date(2017, 12, 5, 20, 00, 00), 23], > [new Date(2017, 12, 5, 21, 00, 00), 25], > [new Date(2017, 12, 5, 22, 00, 00), 25], > [new Date(2017, 12, 5, 23, 00, 00), 28], > [new Date(2017, 12, 6, 0, 00, 00), 29], > [new Date(2017, 12, 6, 1, 00, 00), 19], > [new Date(2017, 12, 6, 2, 00, 00), 24], > [new Date(2017, 12, 6, 3, 00, 00), 28], > [new Date(2017, 12, 6, 4, 00, 00), 26], > [new Date(2017, 12, 6, 5, 00, 00), 22], > [new Date(2017, 12, 6, 6, 00, 00), 25], > [new Date(2017, 12, 6, 7, 00, 00), 24], > [new Date(2017, 12, 6, 8, 00, 00), 24], > [new Date(2017, 12, 6, 9, 00, 00), 11], > [new Date(2017, 12, 6, 10, 00, 00), 28], > [new Date(2017, 12, 6, 11, 00, 00), 28], > [new Date(2017, 12, 6, 12, 00, 00), 29], > [new Date(2017, 12, 6, 13, 00, 00), 23], > [new Date(2017, 12, 6, 14, 00, 00), 23], > [new Date(2017, 12, 6, 15, 00, 00), 28], > [new Date(2017, 12, 6, 16, 00, 00), 27], > [new Date(2017, 12, 6, 17, 00, 00), 27], > [new Date(2017, 12, 6, 18, 00, 00), 23], > [new Date(2017, 12, 6, 19, 00, 00), 27], > [new Date(2017, 12, 6, 20, 00, 00), 20], > [new Date(2017, 12, 6, 21, 00, 00), 24], > [new Date(2017, 12, 6, 22, 00, 00), 24], > [new Date(2017, 12, 6, 23, 00, 00), 26], > [new Date(2017, 12, 7, 0, 00, 00), 25], > [new Date(2017, 12, 7, 1, 00, 00), 27], > [new Date(2017, 12, 7, 2, 00, 00), 24], > [new Date(2017, 12, 7, 3, 00, 00), 26], > [new Date(2017, 12, 7, 4, 00, 00), 27], > [new Date(2017, 12, 7, 5, 00, 00), 20], > [new Date(2017, 12, 7, 6, 00, 00), 23], > [new Date(2017, 12, 7, 7, 00, 00), 20], > [new Date(2017, 12, 7, 8, 00, 00), 11], > [new Date(2017, 12, 7, 9, 00, 00), 26], > [new Date(2017, 12, 7, 10, 00, 00), 26], > [new Date(2017, 12, 7, 11, 00, 00), 29], > [new Date(2017, 12, 7, 12, 00, 00), 22], > [new Date(2017, 12, 7, 13, 00, 00), 27], > [new Date(2017, 12, 7, 14, 00, 00), 26], > [new Date(2017, 12, 7, 15, 00, 00), 20], > [new Date(2017, 12, 7, 16, 00, 00), 22], > [new Date(2017, 12, 7, 17, 00, 00), 21], > [new Date(2017, 12, 7, 18, 00, 00), 27], > [new Date(2017, 12, 7, 19, 00, 00), 19], > [new Date(2017, 12, 7, 20, 00, 00), 17], > [new Date(2017, 12, 7, 21, 00, 00), 24], > [new Date(2017, 12, 7, 22, 00, 00), 27], > [new Date(2017, 12, 7, 23, 00, 00), 21], > [new Date(2017, 12, 8, 0, 00, 00), 20], > [new Date(2017, 12, 8, 1, 00, 00), 25], > [new Date(2017, 12, 8, 2, 00, 00), 25], > [new Date(2017, 12, 8, 3, 00, 00), 28], > [new Date(2017, 12, 8, 4, 00, 00), 27], > [new Date(2017, 12, 8, 5, 00, 00), 25], > [new Date(2017, 12, 8, 6, 00, 00), 23], > [new Date(2017, 12, 8, 7, 00, 00), 27], > [new Date(2017, 12, 8, 8, 00, 00), 26], > [new Date(2017, 12, 8, 9, 00, 00), 25], > [new Date(2017, 12, 8, 10, 00, 00), 11], > [new Date(2017, 12, 8, 11, 00, 00), 20], > [new Date(2017, 12, 8, 12, 00, 00), 21], > [new Date(2017, 12, 8, 13, 00, 00), 26], > [new Date(2017, 12, 8, 14, 00, 00), 26], > [new Date(2017, 12, 8, 15, 00, 00), 23], > [new Date(2017, 12, 8, 16, 00, 00), 25], > [new Date(2017, 12, 8, 17, 00, 00), 25], > [new Date(2017, 12, 8, 18, 00, 00), 20], > [new Date(2017, 12, 8, 19, 00, 00), 26], > [new Date(2017, 12, 8, 20, 00, 00), 28], > [new Date(2017, 12, 8, 21, 00, 00), 23], > [new Date(2017, 12, 8, 22, 00, 00), 26], > [new Date(2017, 12, 8, 23, 00, 00), 21], > [new Date(2017, 12, 9, 0, 00, 00), 18], > [new Date(2017, 12, 11, 5, 00, 00), 15], > [new Date(2017, 12, 11, 6, 00, 00), 22], > [new Date(2017, 12, 11, 7, 00, 00), 27], > [new Date(2017, 12, 11, 8, 00, 00), 24], > [new Date(2017, 12, 11, 9, 00, 00), 27], > [new Date(2017, 12, 11, 10, 00, 00), 27], > [new Date(2017, 12, 11, 11, 00, 00), 23], > [new Date(2017, 12, 11, 12, 00, 00), 24], > [new Date(2017, 12, 11, 13, 00, 00), 25], > [new Date(2017, 12, 11, 14, 00, 00), 22], > [new Date(2017, 12, 11, 15, 00, 00), 20], > [new Date(2017, 12, 11, 16, 00, 00), 16], > [new Date(2017, 12, 11, 17, 00, 00), 14], > [new Date(2017, 12, 11, 18, 00, 00), 24], > [new Date(2017, 12, 11, 19, 00, 00), 22], > [new Date(2017, 12, 11, 20, 00, 00), 14], > [new Date(2017, 12, 11, 21, 00, 00), 20], > [new Date(2017, 12, 11, 22, 00, 00), 29], > [new Date(2017, 12, 11, 23, 00, 00), 24], > [new Date(2017, 12, 12, 0, 00, 00), 24], > [new Date(2017, 12, 12, 1, 00, 00), 25], > [new Date(2017, 12, 12, 2, 00, 00), 12], > [new Date(2017, 12, 12, 3, 00, 00), 28], > [new Date(2017, 12, 12, 4, 00, 00), 27], > [new Date(2017, 12, 12, 5, 00, 00), 22], > [new Date(2017, 12, 12, 6, 00, 00), 26], > [new Date(2017, 12, 12, 7, 00, 00), 24], > [new Date(2017, 12, 12, 8, 00, 00), 27], > [new Date(2017, 12, 12, 9, 00, 00), 26], > [new Date(2017, 12, 12, 10, 00, 00), 24], > [new Date(2017, 12, 12, 11, 00, 00), 21], > [new Date(2017, 12, 12, 12, 00, 00), 23], > [new Date(2017, 12, 12, 13, 00, 00), 29], > [new Date(2017, 12, 12, 14, 00, 00), 22], > [new Date(2017, 12, 12, 15, 00, 00), 20], > [new Date(2017, 12, 12, 16, 00, 00), 26], > [new Date(2017, 12, 12, 17, 00, 00), 27], > [new Date(2017, 12, 12, 18, 00, 00), 26], > [new Date(2017, 12, 12, 19, 00, 00), 24], > [new Date(2017, 12, 12, 20, 00, 00), 25], > [new Date(2017, 12, 12, 21, 00, 00), 26], > [new Date(2017, 12, 12, 22, 00, 00), 27], > [new Date(2017, 12, 12, 23, 00, 00), 27], > [new Date(2017, 12, 13, 0, 00, 00), 25], > [new Date(2017, 12, 13, 1, 00, 00), 21], > [new Date(2017, 12, 13, 2, 00, 00), 16], > [new Date(2017, 12, 13, 3, 00, 00), 27], > [new Date(2017, 12, 13, 4, 00, 00), 27], > [new Date(2017, 12, 13, 5, 00, 00), 21], > [new Date(2017, 12, 13, 6, 00, 00), 27], > [new Date(2017, 12, 13, 7, 00, 00), 27], > [new Date(2017, 12, 13, 8, 00, 00), 20], > [new Date(2017, 12, 13, 9, 00, 00), 20], > [new Date(2017, 12, 13, 10, 00, 00), 21], > [new Date(2017, 12, 13, 11, 00, 00), 24], > [new Date(2017, 12, 13, 12, 00, 00), 26], > [new Date(2017, 12, 13, 13, 00, 00), 25], > [new Date(2017, 12, 13, 14, 00, 00), 20], > [new Date(2017, 12, 13, 15, 00, 00), 26], > [new Date(2017, 12, 13, 16, 00, 00), 28], > [new Date(2017, 12, 13, 17, 00, 00), 27], > [new Date(2017, 12, 13, 18, 00, 00), 20], > [new Date(2017, 12, 13, 19, 00, 00), 21], > [new Date(2017, 12, 13, 20, 00, 00), 28], > [new Date(2017, 12, 13, 21, 00, 00), 30], > [new Date(2017, 12, 13, 22, 00, 00), 26], > [new Date(2017, 12, 13, 23, 00, 00), 23], > [new Date(2017, 12, 14, 0, 00, 00), 16], > [new Date(2017, 12, 14, 1, 00, 00), 22], > [new Date(2017, 12, 14, 2, 00, 00), 18], > [new Date(2017, 12, 14, 3, 00, 00), 27], > [new Date(2017, 12, 14, 4, 00, 00), 28], > [new Date(2017, 12, 14, 5, 00, 00), 21], > [new Date(2017, 12, 14, 6, 00, 00), 23], > [new Date(2017, 12, 14, 7, 00, 00), 23], > [new Date(2017, 12, 14, 8, 00, 00), 23], > [new Date(2017, 12, 14, 9, 00, 00), 24], > [new Date(2017, 12, 14, 10, 00, 00), 23], > [new Date(2017, 12, 14, 11, 00, 00), 24], > [new Date(2017, 12, 14, 12, 00, 00), 27], > [new Date(2017, 12, 14, 13, 00, 00), 25], > [new Date(2017, 12, 14, 14, 00, 00), 26], > [new Date(2017, 12, 14, 15, 00, 00), 27], > [new Date(2017, 12, 14, 16, 00, 00), 27], > [new Date(2017, 12, 14, 17, 00, 00), 28], > [new Date(2017, 12, 14, 18, 00, 00), 27], > [new Date(2017, 12, 14, 19, 00, 00), 26], > [new Date(2017, 12, 14, 20, 00, 00), 21], > [new Date(2017, 12, 14, 21, 00, 00), 22], > [new Date(2017, 12, 14, 22, 00, 00), 24], > [new Date(2017, 12, 14, 23, 00, 00), 27], > [new Date(2017, 12, 15, 0, 00, 00), 23], > [new Date(2017, 12, 15, 1, 00, 00), 16], > [new Date(2017, 12, 15, 2, 00, 00), 8], > [new Date(2017, 12, 15, 4, 00, 00), 5], > [new Date(2017, 12, 15, 5, 00, 00), 23], > [new Date(2017, 12, 15, 6, 00, 00), 26], > [new Date(2017, 12, 15, 7, 00, 00), 26], > [new Date(2017, 12, 15, 8, 00, 00), 24], > [new Date(2017, 12, 15, 9, 00, 00), 22], > [new Date(2017, 12, 15, 10, 00, 00), 27], > [new Date(2017, 12, 15, 11, 00, 00), 22], > [new Date(2017, 12, 15, 12, 00, 00), 27], > [new Date(2017, 12, 15, 13, 00, 00), 26], > [new Date(2017, 12, 15, 14, 00, 00), 25], > [new Date(2017, 12, 15, 15, 00, 00), 25], > [new Date(2017, 12, 15, 16, 00, 00), 22], > [new Date(2017, 12, 15, 17, 00, 00), 25], > [new Date(2017, 12, 15, 18, 00, 00), 24], > [new Date(2017, 12, 15, 19, 00, 00), 23], > [new Date(2017, 12, 15, 20, 00, 00), 23], > [new Date(2017, 12, 15, 21, 00, 00), 27], > [new Date(2017, 12, 15, 22, 00, 00), 21], > [new Date(2017, 12, 15, 23, 00, 00), 18], > [new Date(2017, 12, 16, 0, 00, 00), 21], > [new Date(2017, 12, 18, 5, 00, 00), 26], > [new Date(2017, 12, 18, 6, 00, 00), 26], > [new Date(2017, 12, 18, 7, 00, 00), 27], > [new Date(2017, 12, 18, 8, 00, 00), 23], > [new Date(2017, 12, 18, 9, 00, 00), 19], > [new Date(2017, 12, 18, 10, 00, 00), 24], > [new Date(2017, 12, 18, 11, 00, 00), 26], > [new Date(2017, 12, 18, 12, 00, 00), 25], > [new Date(2017, 12, 18, 13, 00, 00), 23], > [new Date(2017, 12, 18, 14, 00, 00), 22], > [new Date(2017, 12, 18, 15, 00, 00), 29], > [new Date(2017, 12, 18, 16, 00, 00), 29], > [new Date(2017, 12, 18, 17, 00, 00), 28], > [new Date(2017, 12, 18, 18, 00, 00), 25], > [new Date(2017, 12, 18, 19, 00, 00), 26], > [new Date(2017, 12, 18, 20, 00, 00), 30], > [new Date(2017, 12, 18, 21, 00, 00), 26], > [new Date(2017, 12, 18, 22, 00, 00), 29], > [new Date(2017, 12, 18, 23, 00, 00), 26], > [new Date(2017, 12, 19, 0, 00, 00), 18], > [new Date(2017, 12, 19, 1, 00, 00), 28], > [new Date(2017, 12, 19, 2, 00, 00), 25], > [new Date(2017, 12, 19, 3, 00, 00), 28], > [new Date(2017, 12, 19, 4, 00, 00), 28], > [new Date(2017, 12, 19, 5, 00, 00), 24], > [new Date(2017, 12, 19, 6, 00, 00), 21], > [new Date(2017, 12, 19, 7, 00, 00), 24], > [new Date(2017, 12, 19, 8, 00, 00), 26], > [new Date(2017, 12, 19, 9, 00, 00), 24], > [new Date(2017, 12, 19, 10, 00, 00), 25], > [new Date(2017, 12, 19, 11, 00, 00), 24], > [new Date(2017, 12, 19, 12, 00, 00), 23], > [new Date(2017, 12, 19, 13, 00, 00), 24], > [new Date(2017, 12, 19, 14, 00, 00), 23], > [new Date(2017, 12, 19, 15, 00, 00), 26], > [new Date(2017, 12, 19, 16, 00, 00), 25], > [new Date(2017, 12, 19, 17, 00, 00), 23], > [new Date(2017, 12, 19, 18, 00, 00), 25], > [new Date(2017, 12, 19, 19, 00, 00), 24], > [new Date(2017, 12, 19, 20, 00, 00), 3], > [new Date(2017, 12, 19, 21, 00, 00), 24], > [new Date(2017, 12, 19, 22, 00, 00), 27], > [new Date(2017, 12, 19, 23, 00, 00), 27], > [new Date(2017, 12, 20, 0, 00, 00), 22], > [new Date(2017, 12, 20, 1, 00, 00), 27], > [new Date(2017, 12, 20, 2, 00, 00), 21], > [new Date(2017, 12, 20, 3, 00, 00), 28], > [new Date(2017, 12, 20, 4, 00, 00), 25], > [new Date(2017, 12, 20, 5, 00, 00), 15], > [new Date(2017, 12, 20, 6, 00, 00), 14], > [new Date(2017, 12, 20, 7, 00, 00), 20], > [new Date(2017, 12, 20, 8, 00, 00), 24], > [new Date(2017, 12, 20, 9, 00, 00), 26], > [new Date(2017, 12, 20, 10, 00, 00), 22], > [new Date(2017, 12, 20, 11, 00, 00), 26], > [new Date(2017, 12, 20, 12, 00, 00), 27], > [new Date(2017, 12, 20, 13, 00, 00), 24], > [new Date(2017, 12, 20, 14, 00, 00), 25], > [new Date(2017, 12, 20, 15, 00, 00), 23], > [new Date(2017, 12, 20, 16, 00, 00), 24], > [new Date(2017, 12, 20, 17, 00, 00), 21], > [new Date(2017, 12, 20, 18, 00, 00), 28], > [new Date(2017, 12, 20, 19, 00, 00), 23], > [new Date(2017, 12, 20, 20, 00, 00), 25], > [new Date(2017, 12, 20, 21, 00, 00), 24], > [new Date(2017, 12, 20, 22, 00, 00), 19], > [new Date(2017, 12, 20, 23, 00, 00), 16], > [new Date(2017, 12, 21, 0, 00, 00), 12], > [new Date(2017, 12, 21, 1, 00, 00), 28], > [new Date(2017, 12, 21, 2, 00, 00), 17], > [new Date(2017, 12, 21, 3, 00, 00), 27], > [new Date(2017, 12, 21, 4, 00, 00), 27], > [new Date(2017, 12, 21, 5, 00, 00), 25], > [new Date(2017, 12, 21, 6, 00, 00), 25], > [new Date(2017, 12, 21, 7, 00, 00), 25], > [new Date(2017, 12, 21, 8, 00, 00), 24], > [new Date(2017, 12, 21, 9, 00, 00), 17], > [new Date(2018, 1, 2, 5, 00, 00), 12], > [new Date(2018, 1, 2, 6, 00, 00), 25], > [new Date(2018, 1, 2, 7, 00, 00), 26], > [new Date(2018, 1, 2, 8, 00, 00), 26], > [new Date(2018, 1, 2, 9, 00, 00), 27], > [new Date(2018, 1, 2, 10, 00, 00), 27], > [new Date(2018, 1, 2, 11, 00, 00), 3], > ]); > var options = { > hAxis: { > title: 'Hour' > }, > vAxis: { > title: 'PPO' > } > }; > var chart = new google.visualization.LineChart(document. > getElementById('chart_div')); > chart.draw(data, options); > } > </script> > > > > -- > You received this message because you are subscribed to the Google Groups > "Google Visualization API" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to google-visualization-api@ > googlegroups.com. > Visit this group at https://groups.google.com/ > group/google-visualization-api. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/google-visualization-api/d711452b-201b-4dc9-bee5- > 745ad3ba5b5e%40googlegroups.com > <https://groups.google.com/d/msgid/google-visualization-api/d711452b-201b-4dc9-bee5-745ad3ba5b5e%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- Daniel LaLiberte <https://plus.google.com/100631381223468223275?prsrc=2> [email protected] <[email protected]> 5CC, Cambridge MA -- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-visualization-api. To view this discussion on the web visit https://groups.google.com/d/msgid/google-visualization-api/CAOtcSJPWErVSjJe5Jzga%3DU8UgGJVUAtnrS0dtFZLzu9Ny_WTHw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
