Флот с осью "Строка"

При использовании flot я хотел бы иметь основанную на строке x-ось. Например, у меня есть список клиентов "Боб", "Крис", "Джо", и я хотел бы отобразить их доход по оси Y. (это гистограмма)

На первый взгляд кажется, что flot поддерживает только числовые типы по оси X. Это правда?

3 ответа

Решение

@Matt близок, но было бы больше смысла просто использовать ticks возможность напрямую указать, какие галочки должны иметь какие ярлыки:

var options = {

...
  xaxis: {
    ticks: [[0,'Bob'],[1,'Chris'],[2,'Joe']]
  }
...

};

РЕДАКТИРОВАТЬ: это выглядит так (я добавил больше данных, чем меток, но вы поняли идею).

Вы должны быть в состоянии сделать это, используя tickFormatter вариант согласно этому вопросу. Я сам не пробовал, но попробую:

var xAxisLabels = ['Bob', 'Chris', 'Joe'];    
function xAxisLabelGenerator(x){
    return xAxisLabels[x];
}

var plot = $.plot($("#placeholder"), { 
    // snip other options...
    xaxis: {
       transform: xAxisLabelGenerator,
       tickFormatter: xAxisLabelGenerator 
    }
});

Это означает, что фактические значения х должны быть 0, 1, 2, ...

Плагин Categories (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

Другие вопросы по тегам