首页 > 技术文章 > 思维的灵活性也很重要

elsonwe 2017-04-26 17:29 原文

有一个图展示的功能,我使用highchart按时间绘图,并且定时新增点,实现自动更新

  • 思路:我需要2条线,昨天和今天。为了同轴显示做比对,就需要x轴对齐。我的做法是后台不返回完整时间而是只返回02:02这样的时分,这样2条线即可对齐。只更新今天的线,实现数据同比
  • 问题:由于返回了非完整时间,x轴类型只能使用category,相当于文本。这样highchart就无法掌握x轴,如果昨天少了某个时间点而今天有,线可能就会画到后面去,变成乱七八糟的
  • 解决方案1:这是我原来的方案,后台做定时任务,将昨天的点补齐,缺失的value用0。这样也可以work,但非常麻烦,且偶尔还有乱序问题比如浏览器跨天
  • 解决方案2:同事提出的好办法。由于用户只关心对比,并不需要确切知道昨天的时间,所以后台直接把昨天的时间+1,则两条线时间齐平,直接返回timestamp。将xtype设为datetime,则highchart可以完全handle xaixs,即便乱插点也不会乱线

总结:关注需求核心,不拘泥于规则。昨天也可以是今天,前天也可以是今天,只要目的是为了和今天对比。

推荐阅读