echarts中如何设置x轴label格式?

发布于 2022-09-13 01:08:53 字数 349 浏览 15 评论 0

复现链接如下
折线图问题复现

我的x轴数据是category类型的,是以YYYY-MM-DD HH:mm格式显示的日期

需求:
1、我要显示24小时以内的数据,但是日期格式太长,因此我想要在坐标轴显示成HH:mm形式,但是tooltip中依然能以YYYY-MM-DD HH:mm的形式显示

2、x轴label之间的间隔隔一个小时,但是现在给我隔了6个小时,如果设置interval:1,
那么label会重叠

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

客…行舟 2022-09-20 01:08:53

这些东西无非就是个仔细看文档的过程
demo也给你写好了
image.png
1.label显示HH:mm:=>xAxis.axisLabel. formatter

axisLabel: {
    formatter: function (value: any) {
      return value.slice(11);
    }
}

2.tooltip中依然能以YYYY-MM-DD HH:mm的形式显示=>tooltip.formatter

tooltip: {
    trigger: "axis",
    formatter: function (params: any) {
      let str = "<span>" + params[0].name + "</span><br/>";
      for (let i = 0; i < params.length; i++) {
        str +=
          params[i].marker +
          params[i].seriesName +
          ':<span style="float:right;font-weight:600">' +
          params[i].value +
          "</span><br/>";
      }
      return str;
    }
}

3.x轴label重叠,旋转下就好了=>xAxis.axisLabel.rotate

axisLabel: {
    interval: 0,
    rotate: 25
}
染柒℉ 2022-09-20 01:08:53

image.png

引入moment.js一行代码搞定

image.png
或者echart本身的字符串模版

year: '{yyyy}',
month: '{MMM}',
day: '{d}',
hour: '{HH}:{mm}',
minute: '{HH}:{mm}',
second: '{HH}:{mm}:{ss}',
millisecond: '{hh}:{mm}:{ss} {SSS}',
none: '{yyyy}-{MM}-{dd} {hh}:{mm}:{ss} {SSS}'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文