When using flot I would like to have a string based x-axis. For example I have a list of customers \"Bob\", \"Chris\", \"Joe\" and would like to plot their revenue on the Y-
The Categories plugin (jquery.flot.categories.js) will do this quite nicely, so that data can be formatted like this:
var data = [ ["January", 10], ["February", 8], ["March", 4], ["April", 13], ["May", 17], ["June", 9] ];
and plot like this:
See: http://www.flotcharts.org/flot/examples/categories/index.html
@Matt is close, but it would make more sense to just use the ticks
option to directly specify what ticks should have what labels:
var options = {
...
xaxis: {
ticks: [[0,'Bob'],[1,'Chris'],[2,'Joe']]
}
...
};
EDIT: it looks like this (I added more data than labels, but you get the idea).
You should be able to do this using the tickFormatter
option as per this question. I haven't tried it myself, but give this a shot:
var xAxisLabels = ['Bob', 'Chris', 'Joe'];
function xAxisLabelGenerator(x){
return xAxisLabels[x];
}
var plot = $.plot($("#placeholder"), {
// snip other options...
xaxis: {
transform: xAxisLabelGenerator,
tickFormatter: xAxisLabelGenerator
}
});
This means that the actual x-values should be 0, 1, 2, ...