Reputation: 8820
I'd like to get this Google LineChart to look a little more like this chart from GitHub. I'm recreating GitHub's chart because I want a version of it in high quality (vector) and not a highly compressed JPEG (who in their right mind saves charts as JPEGs anyway!).
I'd like to move the legend into the graph and add vertical gridlines (on the horizontal axis "Year"). Does anyone know how to accomplish this?
Here's the code, but please feel free to edit my JSFiddle:
google.load('visualization', '1', {packages: ['corechart', 'line']});
google.setOnLoadCallback(function() {
var data = google.visualization.arrayToDataTable([
['Year', 'JavaScript', 'Java', 'Ruby', 'PHP', 'Python', 'CSS', 'C++', 'Objective C', 'C', 'C#', 'Perl', 'Emacs Lisp', 'VimL', 'Shell','HTML'],
['2008', 2, 7, 1, 4, 3, null, 8, 9, 5, null, 6, null, null, null, null],
['2009', 2, 7, 1, 4, 3, null, 8, 9, 6, null, 5, 10, null, null, null],
['2010', 2, 5, 1, 4, 3, null, 8, 9, 6, null, 7, null, 10, null, null],
['2011', 2, 5, 1, 4, 3, null, 7, 8, 6, 10, 9, null, null, null, null],
['2012', 2, 3, 1, 4, 5, null, 7, 8, 6, 9, null, null, null, 10, null],
['2013', 1, 3, 2, 4, 5, 10, 7, 8, 6, 9, null, null, null, null, null],
['2014', 1, 2, 3, 4, 5, 6, 7, 9, 8, 10, null, null, null, null, null],
['2015', 1, 2, 3, 4, 5, 6, 7, null, 9, 8, null, null, null, null, 10]
]);
var options = {
title: 'Rank of top languages on GitHub over time',
width: '100%',
height: 600,
hAxis: {
title: 'Time',
},
vAxis: {
title: 'Rank',
viewWindow: {
min: 1
},
direction: -1,
gridlines: {
count: 11
}
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart'));
chart.draw(data, options);
});
Upvotes: 1
Views: 77
Reputation: 1773
Change data type -> type: 'date'
google.load('visualization', '1.1', {packages: ['corechart', 'line']});
google.setOnLoadCallback(function() {
var data = google.visualization.arrayToDataTable([
[{label: 'Year', type: 'date'}, 'JavaScript', 'Java', 'Ruby', 'PHP', 'Python', 'CSS', 'C++', 'Objective C', 'C', 'C#', 'Perl', 'Emacs Lisp', 'VimL', 'Shell','HTML'],
[new Date(2008, 0, 0), 2, 7, 1, 4, 3, null, 8, 9, 5, null, 6, null, null, null, null],
[new Date(2009, 0, 0), 2, 7, 1, 4, 3, null, 8, 9, 6, null, 5, 10, null, null, null],
[new Date(2010, 0, 0), 2, 5, 1, 4, 3, null, 8, 9, 6, null, 7, null, 10, null, null],
[new Date(2011, 0, 0), 2, 5, 1, 4, 3, null, 7, 8, 6, 10, 9, null, null, null, null],
[new Date(2012, 0, 0), 2, 3, 1, 4, 5, null, 7, 8, 6, 9, null, null, null, 10, null],
[new Date(2013, 0, 0), 1, 3, 2, 4, 5, 10, 7, 8, 6, 9, null, null, null, null, null],
[new Date(2014, 0, 0), 1, 2, 3, 4, 5, 6, 7, 9, 8, 10, null, null, null, null, null],
[new Date(2015, 0, 0), 1, 2, 3, 4, 5, 6, 7, null, 9, 8, null, null, null, null, 10]
]);
var options = {
title: 'Rank of top languages on GitHub over time',
width: '100%',
height: 800,
hAxis: {
title: 'Time',
gridlines: {
count: -1
},
},
vAxis: {
title: 'Rank',
viewWindow: {
min: 1
},
direction: -1,
gridlines: {
count: -1
}
}
};
var chart = new google.visualization.LineChart(document.getElementById('chart'));
chart.draw(data, options);
});
https://jsfiddle.net/mblenton/x00omtxL/15/
Upvotes: 1