计算日期时间轴最小值,最大值和主要次要时间间隔
我正在寻找一个很好的算法来为自定义制图组件上的日期时间轴生成漂亮的主要/次要时间间隔。 这里我已经读过这个前面的问题,它讨论了计算数值轴的主要/次要剔号和最小值/最大值的一个好方法。 但是,很难将其转换为日期轴计算。
原因在于某些日期范围与其他日期范围有所不同,有些日期范围甚至没有一致的时间范围。 考虑几分钟内的轴范围。 这个计算相当简单,因为您可以使用与上面介绍的算法类似的算法将分钟分开。 然而,当同一个坐标轴被要求提供年/月或月/周范围内的数据时,你会做什么?
这个轴的要求是它可以计算主要/次要的刻度线,以便图表不会太混乱,输入数据的范围在毫秒级甚至几年和几年。 它的目的是在实时图表上使用,因此静态表示并不像快速更新的能力那么重要。 我的简单算法做到这一点:
等等...
正如你可以看到很多if语句并且可能会漏掉一些东西。 在这种方法中,我经常会在特定的日期出现小故障,我想知道是否有一种简单或常见的方法来解决这个问题。
最好的问候,安德鲁
min_dist_major
)和次要( min_dist_minor
)打勾的最小距离是min_dist_minor
。 那些是常量并且具有像素值。 min_dist_major
的最小主min_dist_major
。 min_dist_minor
。 如果找不到小勾号,则不存在。 您可以使用其他刻度来扩展您的阵列,例如每种类型的2和5。
链接地址: http://www.djcxy.com/p/61033.html上一篇: Calculating Date Time Axis minimum, maximum and major minor tick interval