Как установить отображаемое значение как: 00:00, 01:00, 02:00 и т. Д. По оси х в диаграммах? - PullRequest
0 голосов
/ 10 июля 2019

В столбчатой ​​диаграмме с большими данными для элемента 1440 (как по оси x, так и по данным), Как установить конкретное значение как: 00:00, 01:00, 02:00, 03:00 по оси x?

Я использовал 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

пример ссылки: введите описание ссылки здесь

В столбчатой ​​диаграмме с большими данными для элемента 1440 (как по оси x, так и по данным), Как установить конкретное значение: 00:00, 01:00, 02:00, 03:00 и т. Д., Совместимые с 24 часами в день по оси х?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...