我正在寻找一种在Highcharts Gantt中使用日期时间xAxis时跳过周末的方法。
我已经阅读了一些有关
的帖子xAxis.ordinal
HighStock的选项,但我正在使用HighCharts
此外,我需要坚持日期时间,因为我计划创建interactive Gantt / planning并通过这些交互来更新数据库,并且我不希望能够拖放(或扩展)任务进入一个周末。我相信我可以通过放置事件来防止这种情况发生(我认为有一个),但是,我的图形的2/7将是“空”的。
如果有人知道这种情况会被黑客入侵,我全力以赴!
PS: 在键入此内容时,我意识到xAxis似乎总是与甘特(Gantt)约会,因此我自己定义每个xValue的“技巧”可能是用于常规图表...我注定要有周末吗?
编辑: 这是我们现在所处位置的fiddle。如您所见,我们可以使用
隐藏所有周末xAxis: [{
breaks: [{
from: Date.UTC(2018, 11, 8),
to: Date.UTC(2018, 11, 10),
breakSize: 0,
repeat: 7 * 24 * 36e5 //every week/7 days
}]
}]
但是,不幸的是,中断似乎与“可拖动点”模块不兼容,并且在经过中断(在本例中为周末)时,拖动的点/任务会自行“调整”大小,闪烁并在甚至从甘特(Gantt)上消失了:/(此外,某些标签在拖动时行为异常)
我想我可以使用自定义格式器“隐藏”周末标签并检查X值,但这可能会在图中留下空白但现有的列,这就是为什么我需要真正删除这些日期。 / p>
我可能必须将周末保持打开状态并进行检查/算术,以便在5个工作日的任务中增加2天不会在周末“抽取”任务,而是实际上增加了4天来补偿(取模胜利),但这并不理想...
我应该将可拖动点和xAxis中断之间的这种(奇怪的)异常行为报告为bug吗?从技术上讲,这些点不会改变值(在this demo中,使用按钮和控制台,您会看到每个点的xmax-xmin
保持不变),但是当将它们拖放到周末,他们消失了。这就是我要避免的事情。
tl;博士: 当将点拖到中断点附近时,中断点将充当黑洞(您将a拖到鼠标与中断点之间的距离不超过...半周之内)。
编辑:bug report
答案 0 :(得分:1)
您可以使用breaks
隐藏图表上的周末。您可以在下面找到如何使用休息时间的示例,但也可以创建一个在每个周末插入休息时间的函数:
xAxis: [{
breaks: [{
from: Date.UTC(2018, 11, 8),
to: Date.UTC(2018, 11, 10),
breakSize: 0
}]
}, {
visible: false
}]