如何在echarts的x轴上将显示的特定值设置为:00:00、01:00、02:00等?

时间:2019-07-10 09:54:27

标签: echarts

在具有大数据的条形图中,对于1440项(x轴和数据),如何在x轴上将特定值设置为:00:00、01:00、02:00、03:00?

我使用了xaxisFormatter,但没有用。

var dataCount = 1440;
var data = generateData(dataCount);

var option = {
    title: {
        text: echarts.format.addCommas(dataCount) + ' Data',
        left: 10
    },
    toolbox: {
        feature: {
            dataZoom: {
                yAxisIndex: false
            },
            saveAsImage: {
                pixelRatio: 2
            }
        }
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    grid: {
        bottom: 90
    },
    dataZoom: [],
    xAxis: {
        // type: category,
        data: data.categoryData,
        scale: true,
        min: 'dataMin',
        max: 'dataMax',
        axisPointer: {
            show: true
        },
        axisLabel: {
            formatter: function (value, idx) {
              var date = new Date(value);
              return idx === 0 ?
              '00:00' + [date.getDate(), date.getMonth() + 1, date.getFullYear()].join('/')
              : [date.getHours(), date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes()].join(':');
            }
          },
        silent: true,
        boundaryGap: false
    },
    yAxis: {
        splitArea: {
            show: false
        }
    },
    series: [{
        type: 'line',
        data: data.valueData,
        // Set `large` for large data amount
        large: true
    }]
};

function generateData(count) {
    var baseValue = Math.random() * 1000;
    var time = +new Date(2011, 0, 1);
    var smallBaseValue;

    function next(idx) {
        smallBaseValue = idx % 30 === 0
            ? Math.random() * 700
            : (smallBaseValue + Math.random() * 500 - 250);
        baseValue += Math.random() * 20 - 10;
        return Math.max(
            0,
            Math.round(baseValue + smallBaseValue) + 3000
        );
    }

    var categoryData = [];
    var valueData = [];

    for (var i = 0; i < count; i++) {
        categoryData.push(echarts.format.formatTime('yyyy-MM-dd\nhh:mm:ss', time));
        valueData.push(next(i).toFixed(2));
        time += 60000;
    }

    return {
        categoryData: categoryData,
        valueData: valueData
    };
}

enter image description here

链接示例:enter link description here

在具有大数据的条形图中,对于1440项(x轴和数据),如何将特定值设置为:00:00、01:00、02:00、03:00等与24小时兼容x轴上的日期?

0 个答案:

没有答案