如何在jquery中显示flot chart的x轴中的字符

时间:2018-05-09 06:22:26

标签: jquery codeigniter-3 flot jqplot

我需要在plot.js中使用更新图表作为我的项目,这是我的代码:

var data = [],
    totalPoints = 1200,
    $UpdatingChartColors = $("#updating-chart").css('color');

function getRandomData() {
    if (data.length > 0)
        data = data.slice(1);
    while (data.length < totalPoints) {
        var prev = data.length > 0 ? data[data.length - 1] : 50;
        var y = prev + Math.random() * 10 - 5;
        if (y < 0)
            y = 0;
        if (y > 100)
            y = 100;
        data.push(y);
    }
    var res = [];
    for (var i = 0; i < data.length; ++i)
        res.push([i, data[i]])
    return res;
}
var updateInterval = 1500;
$("#updating-chart").val(updateInterval).change(function() {
    var v = $(this).val();
    if (v && !isNaN(+v)) {
        updateInterval = +v;
        $(this).val("" + updateInterval);
    }
});
var options = {
    yaxis: {
        min: 0,
        max: 100
    },
    xaxis: {
        transform: function(v) {
            return -v;
        },
        min: 0,
        max: 90
    },
    colors: [$UpdatingChartColors],
    series: {
        lines: {
            lineWidth: 1,
            fill: true,
            fillColor: {
                colors: [{
                    opacity: 0.4
                }, {
                    opacity: 0
                }]
            },
            steps: false
        }
    }
};

var plot = $.plot($("#updating-chart"), [getRandomData()], options);

我在x轴上获得输出,如90,80,70,60,50,40,30,20,10,0。 但我需要输出像D-90,D-80,D-70,D-60,D-50,D-40,D-30,D-20,D-10。

如何实现那个?

1 个答案:

答案 0 :(得分:1)

使用tickFormatter选项中的xaxis媒体资源:

tickFormatter: function(val, axis) {
    return 'D-' + val;
}

有关工作小提琴的信息,请参见here,有关详细信息,请参阅here

PS:使用transform时,您还应指定inverseTransform