Highcharts-使用和标签格式化程序按周打印

Highcharts-使用和标签格式化程序按周打印,highcharts,labels,gantt-chart,Highcharts,Labels,Gantt Chart,我正在尝试使用Highcharts创建一个项目计划图,但在将要绘制的值与轴标签分离时遇到了一点问题。例如,我希望在2016年第20周开始一项任务,所以我一直在做的就是将年度和周合并为:“201620”,然后将其转换为一个类别。对于我的标签,我只是将前四个数字的最后两个数字分开,这样看起来就像“2016-20”。我通过在代码的yAxis部分中使用标签格式化程序代码来实现这一点: formatter: function() { var FullDate = this.value.toString

我正在尝试使用Highcharts创建一个项目计划图,但在将要绘制的值与轴标签分离时遇到了一点问题。例如,我希望在2016年第20周开始一项任务,所以我一直在做的就是将年度和周合并为:“201620”,然后将其转换为一个类别。对于我的标签,我只是将前四个数字的最后两个数字分开,这样看起来就像“2016-20”。我通过在代码的yAxis部分中使用标签格式化程序代码来实现这一点:

formatter: function() {
  var FullDate = this.value.toString();
  var FiscalYear = FullDate.substring(0, 4);
  var WorkWeek = FullDate.substring(4, 6);
  return FiscalYear + '-' + WorkWeek;
}
只要所有任务都在同一年内完成(),这就非常有效

我的问题是2017年来临时该怎么办(一年中不应该有99周,)。因此,我正在将工作周转换为自动计算的整数,但我仍然希望我的绘图显示“2016-20”

所以我的问题是:如何绘制整数,但在轴上显示单独的文本?


任何帮助都将不胜感激

我在存储轴标签的位置添加了一个数组,我想我解决了我的问题


对我来说,这几乎解决了。

应该有一种更简单的方法来使用
Highcharts.dateFormat()
函数(请参阅)。任务日期的源数据是什么样子的?例如,它们是时间戳吗?迈克:数据是两个字段的串联:年和周。所以我不会把它存储为日期。我想我可能已经找到了一个解决方案,使用了来自的解决方案版本。
var WorkWeekLabels = {
            '1967' : '2016 - 23',
            '1968' : '2016 - 24',
            '1969' : '2016 - 25',
            '1970' : '2016 - 26',
            '1971' : '2016 - 27',
            '1972' : '2016 - 28',
            '1973' : '2016 - 29',
...etc...
}