如何在海图甘特图时间轴中替换“周”一词?

时间:2019-07-16 10:35:51

标签: highcharts gantt-chart

不幸的是,Highcharts语言选项没有为“周”一词提供参数,因此在甘特图的时间轴标题中,“周”一词无法翻译(在我的情况下为德语“ Woche”或“ KW” )

Highcharts.setOptions({       lang:{...}不提供“ week”的翻译。我已经尝试过“周”和“周”,以查看这些参数是否存在而没有被记录下来,但这也不起作用。

因此,似乎无法用语言选项更改术语“周”吗?还有其他可能性吗?还是将在将来的版本中添加此选项?

2 个答案:

答案 0 :(得分:0)

您可以在dateTimeLabelFormats中更改术语“周”:

xAxis: [{
    ...
}, {
    dateTimeLabelFormats: {
        week: 'Woche %W'
    }
}]

实时演示: https://jsfiddle.net/BlackLabel/vw7hjg64/

API参考: https://api.highcharts.com/gantt/xAxis.dateTimeLabelFormats.week

答案 1 :(得分:0)

您必须将 dateTimeLabelFormats.xAxis.list 设置为选项列表,因为根据缩放级别可能使用短格式 (W1) 或长格式(第 1 周)。

您还必须通过将 xAxis 设置为数组来定义它两次(对于标题的 2 行),其中第一个元素是底行的配置,第二个元素是顶行的配置:

this.gantt = HighchartsGantt.ganttChart('gantt', {
    // ...

    xAxis: [{
       // ...
       dateTimeLabelFormats: {
         week: {
           list: [ 'Semaine %W', 'S%W' ]
         } as Highcharts.AxisDateTimeLabelFormatsOptionsObject
       }
    }, {
       dateTimeLabelFormats: {
         week: {
           list: [ 'Semaine %W', 'S%W' ]
         } as Highcharts.AxisDateTimeLabelFormatsOptionsObject
       }
    }]

    // ...
});

如果您使用打字稿,则必须将 week 属性强制转换为 Highcharts.AxisDateTimeLabelFormatsOptionsObject(我没有找到这些特定甘特选项的正确类型)。

参考资料: https://api.highcharts.com/gantt/xAxis.dateTimeLabelFormats https://www.highcharts.com/forum/viewtopic.php?t=43936#p155436