lxq bie emo 2023-10-11 14:36 采纳率: 76.2%
浏览 13
已结题

echarts想做成这种 y轴为时间,最大值和最小值是当前时间和当前时间的前2分钟,中间的刻度不显示,求jiao

echarts想做成这种 y轴为时间,最大值和最小值是当前时间和当前时间的前2分钟,中间的刻度不显示,求jiao

img

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2023-10-11 21:06
    关注
    
        function FormatDate(d) {
            return d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
        }
        //2分钟前
        var min2Ago = new Date();
        min2Ago.setMinutes(min2Ago.getMinutes() - 2);
        min2Ago = FormatDate(min2Ago);//转字符
    
        data = [150, 230, 224, 218, 135, 147, 260];
        var maxValue = Math.max(...data);//获取最大值
        var rate = maxValue / 120;//换算比率
        //数据源转为时间
        for (var i = 0; i < data.length; i++) {
            var sec = Math.floor(data[i] / rate);//在前2分钟上增加的秒数
            var d = new Date(min2Ago);
            console.log(FormatDate(d),sec)
            d.setSeconds(d.getSeconds() + sec);
            console.log(FormatDate(d))
            data[i] = FormatDate(d);
        }
    
    
        option = {
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: "time",
                min: min2Ago,
                max: FormatDate(new Date())
            },
            series: [
                {
                    data: data,
                    type: 'line'
                }
            ]
        };
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月11日