绘制Echart图表,一般情况下x轴type: 'category',但有时候也用到type:  'time', 这两者的主要区别是,当为时间轴时,不需要指定xAxis 对象的data,时间轴显示的Label 是series对象里面的value[0]的日期,value[0]可以是时间戳也可以是“2018-12-5 10:20:30”这种类型,不能是无效的时间格式类型,同样可以格式化Label

例一

<script>
var times = [
    [1522306819000, 2],
    [1522306919000, 1],
    [1522307019000, 3],
    [1522307119000, 1],
    [1522307120000, 1],
    [1522307230000, 1],
    [1522302230000, 1],
    [1522307430000, 1],
    [1522407230000, 1]
];

var option2 = {
    legend: {
        data: ['12月28日'],
    },
    grid: { bottom: 50 },
    tooltip: {
        trigger: 'axis',
        axisPointer: { // 坐标轴指示器,坐标轴触发有效
            type: 'line' // 默认为直线,可选为:'line' | 'shadow'
        },
        formatter: function(params) {
            console.log(params)
            return params[0].name + '<br/>' +
                params[0].seriesName + ' : ' + params[0].value[1] + ' <span>Sm<SUP>3</SUP></span>'
        }
    },

    xAxis: {
        type: 'time',
        splitNumber: 13,
        axisLabel: {
            formatter: function(value, index) {
                return new Date(value).getFullYear();  value指的是1522306819000这种数据
            }
        },
        boundaryGap: ["0", "100%"]
    },
    yAxis: { type: 'value' },
    series: {
        name: '公司名称',
        type: 'line',
        data: times,
    }
};
var myChart1 = echarts.init(document.getElementById('linechart1'), theme);
myChart1.setOption(option2);
</script>

例二

<script>
var data1 = [{ name: "2016-4-28 08:03:17", value: ["2016-4-28 08:03:17", 15] }, { name: "2016-4-28 08:03:18", value: ["2016-4-28 08:03:18", 15] },
    { name: "2016-4-28 08:03:19", value: ["2016-4-28 08:03:19", 15] }, { name: "2016-4-28 08:03:20", value: ["2016-4-28 08:03:20", 15] },
    { name: "2016-4-28 08:03:21", value: ["2016-4-28 08:03:21", 15] }, { name: "2016-4-28 08:03:22", value: ["2016-4-28 08:03:22", 15] },
    { name: "2016-4-28 08:03:23", value: ["2016-4-28 08:03:23", 15] }, { name: "2016-4-28 08:03:24", value: ["2016-4-28 08:03:24", 15] },
    { name: "2016-4-28 08:03:25", value: ["2016-4-28 08:03:25", 15] }, { name: "2016-4-28 08:03:26", value: ["2016-4-28 08:03:26", 15] },
    { name: "2016-4-28 08:03:27", value: ["2016-4-28 08:03:27", 15] }, { name: "2016-4-28 08:03:28", value: ["2016-4-28 08:03:28", 15] }, { name: "2016-4-28 08:03:29", value: ["2016-4-28 08:03:29", 15] }
];
var data = [];
for (i = 0; i < data1.length; i++) {
    //data.push(data1[x].name.substring(10,18));
    data.push(data1[i]);
    data[i].name = data1[i].name.substring(10, 18);
    //data[i].value[0]=data1[i].value[0].substring(10,18); //不能设置此行,如果设置此行,导致时间格式有误,会报错
}
console.log(data)
var option2 = {
    legend: {
        data: ['12月28日'],
    },
    grid: { bottom: 50 },
    tooltip: {
        trigger: 'axis',
        axisPointer: { // 坐标轴指示器,坐标轴触发有效
            type: 'line' // 默认为直线,可选为:'line' | 'shadow'
        },
        formatter: function(params) {
            console.log(params)
            return params[0].name + '<br/>' +
                params[0].seriesName + ' : ' + params[0].value[1] + ' <span>Sm<SUP>3</SUP></span>'
        }
    },
    xAxis: {
        type: 'time',
        splitNumber: 13,
        axisLabel: {
            formatter: function(value, index) {
                return new Date(value).toLocaleTimeString();
            }
        },
        boundaryGap: ["0", "100%"]
    },
    yAxis: { type: 'value' },
    series: {
        name: '公司名称',
        type: 'line',
        data: data,
    }
};
var myChart1 = echarts.init(document.getElementById('linechart1'), theme);
myChart1.setOption(option2);
</script>
01-30 17:31