关于echart的x轴固定为0-24小时显示一天内的数据
需求:
echart折线图横坐标x轴固定显示为0-1-2-3-...-23-24一共24小时的数据.
根据需求,我在网上以及echart官网,发现x轴无论type是类目轴还是时间,都是自动处理的,尤其是数据量过多的情况,x轴时间无法准确控制
实现效果:
  
代码解决思路:
分析造成x轴时间无法固定的原因是数据里的时间具有不确定性,于是我在原数据的基础上增加了一条时间分别是00:00:00 - 01:00:00 -23:00:00, 值为空的数据(该条折线不显示,仅用于撑开x轴)
var mytime24 = new Array()
var i = 0;
var now_data = new Date()
var year_now = now_data.getFullYear(),month_now = now_data.getMonth() + 1, day_now = now_data.getDate()
var time_pre = `${year_now}/${month_now}/${day_now} 00:00:00`
var ttt = (new Date(time_pre)).getTime()
for (; i < 25; i++) {
mytime24.push([ttt, '']);//传入value的值为空则该值点不会显示在图表中
ttt = ttt + 3600000;
}
将数据传入series:
 str.push({
     name: '',
     type: 'line',
     data: mytime24,//空数据
 },{
     name: '',
     type: 'line',
     data: value,//原数据
 })
配置myChart.setOption,在xAxis设置24等分,并在formatter中格式化时间,只显示小时
myChart.setOption({
                xAxis: {
                    type: 'time',
                    splitNumber: 24,
                    splitLine: {
                        show: false
                    },
                    axisLine: {
                        lineStyle: {
                            color: '#ccc',
                        }
                    },
                    axisLabel: {// 格式化数据只显示时间的小时
                        formatter: function (value, index) {
                            var data = new Date(value)
                            var hours = data.getHours()
                            return hours
                        }
                    },
                    data: []
                },
                yAxis: {
                    min: minY,
                    max: maxY,
                },
                series: str
            });
结束!感谢
(
关于echart的x轴固定为0-24小时显示一天内的数据的更多相关文章
- JFreeChart时间轴固定24小时每天刷新
		
Timeseries时间轴,设置x轴固定长度24小时 xAxis.setFixedAutoRange(3600000 * 2D), 再画出当天24点这一点 Date day = new Date(); ...
 - 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch
		
前言 前面 FLink 的文章中我们已经介绍了说 Flink 已经有很多自带的 Connector. 1.<从0到1学习Flink>-- Data Source 介绍 2.<从0到1 ...
 - 在Asp.Net Core 3.0中如何使用  Newtonsoft.Json 库序列化数据
		
在.Net Core 3.0中 内置了一套Json序列化/反序列化方案,默认可以不再依赖,不再支持 Newtonsoft.Json. 但是.NET Core 3.0 System.Text.Jso ...
 - 韩顺刚-tcp报文头协议详细分析第一包数据:序号是0,发送数据的长度是0,因为没有收到对端的数据,所以确认号是0, Syn的标志位设置成1,这里没有发送的数据,只发送TCP的20个字节的头部
		
TCP报文段首部格式 大部分TCP报文头部都是20个字节,有的数据包要加上选项. 上面一行代表4个字节,源端口和目的端口都是2个字节. TCP协议是面向字节流的协议 TCP是一段一段分块的发送数据的 ...
 - Deep Learning 24:读论文“Batch-normalized Maxout Network in Network”——mnist错误率为0.24%
		
读本篇论文“Batch-normalized Maxout Network in Network”的原因在它的mnist错误率为0.24%,世界排名第4.并且代码是用matlab写的,本人还没装caf ...
 - Discuz 7.0版块横排显示版块图标和版块简介的方法
		
Discuz 7.0版块横排显示版块图标和版块简介的方法 最近很多朋友咨询Discuz论坛设置论坛版块横排后,如何设置显示版块图标和简介的问题. 一.显示板块图标 找到templates\defaul ...
 - win32 api ShouCursor 根据内部计数器 是否>= 0 决定是否 显示光标,每true时计数器+1,每false-1
		
win32 api ShouCursor 根据内部计数器 是否>= 0 决定是否 显示光标,每true时计数器+1,每false-1,编程时true 和 false 的次数容易产生bug.
 - cocos2d-x 3.0 final 中文显示
		
cocos2d-x 3.0的中文显示非常easy,首先,你须要一个xml文件保存中文,还须要一个能显示中文的TTF文件 <?xml version="1.0" encodin ...
 - MiniProfiler.3.0.10 用于MVC4.0中不能显示SQL语句
		
MiniProfiler.3.0.10 用于MVC4.0中可以显示执行时间,但是不能显示SQL语句,怎么解决?
 
随机推荐
- java触发器的学习
			
public class OpenVirtualService { public void open(){ //虚机开通 //业务逻辑 ...
 - 对比Memcached和Redis,谁才是适合你的缓存?
			
Memcached vs Redis 近期公司采购软件,评估时,某软件谈到使用了 Memcached 和 Redis 缓存.在本文中,将研究这两个流行的缓存的异同,方便理解和记忆. 1. Memcac ...
 - 【NLP】常用优化方法
			
目录 梯度下降法 动量法 AdaGrad算法 RMSProP算法 AdaDelta算法 Adam算法 1.梯度下降法 梯度下降法可以分为三种,批量梯度下降法(BGD).小批量梯度下降(MBGD).随机 ...
 - 关于Java两点需要更新的知识
			
HashMap的初始容量 背景 很多人可以把HashMap的原理描述的很溜.比如JDK1.7之前,底层数据结构是数组+链表.JDK1.8之后,出于效率上的考虑,在数组长度大于64,链表长度大于8的时候 ...
 - 【译】OWIN: Open Web Server Interface for .NET
			
主要是使用 OAuth 时,它运行在 OWIN 上,然后又出了若干问题,总之,发现对 IIS.ASP.NET 和 OWIN 理解一塌糊涂. 后面看到 OWIN: Open Web Server Int ...
 - Robot Framework(13)- RF 循环的详细使用
			
如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 RF用 ...
 - 50个SQL语句(MySQL版) 问题四
			
--------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...
 - 项目打包成手机app  通过什么打包?
			
项目打包成手机app 通过什么打包? 1.HbuildX注册邮箱账号 2.新建-app,然后将自动生成的除manifest.json之外的所有文件删除,然后将vue项目build之后生成的dist文 ...
 - Alpha冲刺 —— 5.5
			
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...
 - Second Space could let suspect play two different roles easily
			
Have you guys heard about a pretty good feature called "Second Space"? Manufacturers like ...