Flot With “String” x-axis

前端 未结 3 1149
礼貌的吻别
礼貌的吻别 2020-12-24 05:07

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-

相关标签:
3条回答
  • 2020-12-24 05:30

    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: enter image description here

    See: http://www.flotcharts.org/flot/examples/categories/index.html

    0 讨论(0)
  • 2020-12-24 05:38

    @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).

    0 讨论(0)
  • 2020-12-24 05:51

    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, ...

    0 讨论(0)
提交回复
热议问题