将Chart.JS条形图中的票证与时间刻度X轴向左对齐

时间:2019-04-30 22:02:11

标签: chart.js

我正在使用Chart.JS 2.8.0版创建一个条形图,该条形图显示特定日期每一小时的开始处的值。我正在为X轴使用时间刻度。因此,我的X轴上有00、01、02 ...... 23这样的标签,即一天中的时间。

df.astype(float)

我面临的问题是条形图将小时的标签/刻度放在条形图的中心上,但是我想将其放在左侧,因为我的数据是读数开始

如果您检出this Fiddle,就会明白我的意思。请注意0​​6:00标签/刻度线如何位于左侧第6条中间。简而言之,每个条形代表从小时前30分钟到小时后30分钟的时间。 (例如,位于06的小节正在报告该时间间隔是从5:30-6:30,中间是6:00右击打。

这引起了两个问题:

  1. 第一个和最后一个小节被切除。
  2. 如果我添加注释或其他数据系列,而该数据系列的数据在分钟级别定义,则它看起来很正常。原因是,如果我从5:30-7:30绘制一条线,那条线从06条的最左边缘开始,一直到07条的最右边缘,因为每个条实际上是30条一小时前的几分钟和之后的三十分钟。

我想要的是用来表示从一小时开始到一小时结束的时间的条形(不是从一小时前的30分钟到一小时后的30分钟)。

我尝试过的事情:

  • scales: { xAxes: [{ type: 'time', time: { unit: 'hour', unitStepSize: 3, displayFormats: { 'hour': 'HH' } } } 设置为offset。这在某种程度上解决了问题1,但只是在图表中添加了一些空白,以使第一个和最后一个条形不会减少一半。
  • true设置为gridLines.offsetGridLines,但是my research证明此设置不适用于时间序列。
  • 未使用时间序列。这里的问题是,除了条形图数据之外,我还在绘制其他不是按小时显示的基于时间的数据。我发现,如果我执行非时间序列,那么此数据受我的柱的粒度(1小时)的限制,而使用时间序列,它可以填充更大的粒度。

谢谢

0 个答案:

没有答案