在使用flot时,我希望拥有基于字符串的x轴。例如,我有一个客户列表"Bob","Chris","Joe",并希望在Y轴上绘制他们的收入。(这是条形图)
乍一看,似乎flot只支持x轴上的数字类型。这是真的吗?
在使用flot时,我希望拥有基于字符串的x轴。例如,我有一个客户列表"Bob","Chris","Joe",并希望在Y轴上绘制他们的收入。(这是条形图)
乍一看,似乎flot只支持x轴上的数字类型。这是真的吗?
根据这个问题,您应该能够使用tickFormatter
选项来实现这一点。我自己没有尝试过,但可以试试这个:
var xAxisLabels = ['Bob', 'Chris', 'Joe'];
function xAxisLabelGenerator(x){
return xAxisLabels[x];
}
var plot = $.plot($("#placeholder"), {
// snip other options...
xaxis: {
transform: xAxisLabelGenerator,
tickFormatter: xAxisLabelGenerator
}
});
这意味着实际的x值应该是0、1、2、...
transform:function (x) { return xAxisLabelGenerator(x); }
是一种冗长但等效的写法,而我的答案中则是 transform: xAxisLabelGenerator
。 - Matt Ball分类插件(jquery.flot.categories.js)可以很好地实现此功能,使数据格式化如下:
var data = [ ["January", 10], ["February", 8], ["March", 4], ["April", 13], ["May", 17], ["June", 9] ];
并绘制出这样的图表:
参见:http://www.flotcharts.org/flot/examples/categories/index.html