一周不能正常工作的Highstock工具提示dateTimeLabelFormats

时间:2015-04-16 14:52:42

标签: highcharts highstock

我正在尝试使用dateTimeLabelFormats变量来自定义StockChart中显示的文本。 在此URL(它在测试环境中): http://isplife.stage.h-art.it/it/prodotti/prospettiva-20/fondi/investi-con-me-attivo-forte 如果你看第一张图表,Andamento del Fondo Interno,我的工具提示的自定义标签

     day:"%d/%m/%Y"

工作正常。 如果你看这个页面: http://isplife.stage.h-art.it/it/prodotti/prospettiva-20/fondi/el-prospettiva-monetario-euro 同样的图表,由于有大量数据,数据按周分组,标签仍显示默认的“Week from ...”标签,即使我们已按照以下方式对其进行了自定义:

    week:"Settimana del %d/%m/%Y"

代码可以在这里找到: http://isplife.stage.h-art.it/jscript/fund.js 第75行。这是一个错误吗?有什么想法吗?

1 个答案:

答案 0 :(得分:2)

很难准确地使用您的代码,因为您没有提供问题的最小示例,但您的问题似乎是您在设置{{3}时设置tooltip.dateTimeLabelFormats或者两者都可能。

可以从tooltip.dateTimeLabelFormats API说明中读取此原因:

  

请注意,在应用数据分组时,日期时间标签格式会从 dataGrouping.dateTimeLabelFormats 中提取,因为它还允许格式化时间跨度。

数据分组在Highstock中非常常见,因此通常会出现这种情况。要解决此问题,您可以将以下代码添加到fund.js图表​​选项(上面tooltip f.x。):

plotOptions: {
    series: {
        dataGrouping: {
            dateTimeLabelFormats: {
               millisecond: ['%A, %b %e, %H:%M:%S.%L', '%A, %b %e, %H:%M:%S.%L', '-%H:%M:%S.%L'],
               second: ['%A, %b %e, %H:%M:%S', '%A, %b %e, %H:%M:%S', '-%H:%M:%S'],
               minute: ['%A, %b %e, %H:%M', '%A, %b %e, %H:%M', '-%H:%M'],
               hour: ['%A, %b %e, %H:%M', '%A, %b %e, %H:%M', '-%H:%M'],
               day: ['%A, %b %e, %Y', '%A, %b %e', '-%A, %b %e, %Y'],
               week: ['Settimana del %d/%m/%Y', '%A, %b %e', '-%A, %b %e, %Y'],
               month: ['%B %Y', '%B', '-%B %Y'],
               year: ['%Y', '%Y', '-%Y']
            }
        }
    }
}

我只编辑了测试你周工作的部分,但正如你所看到的那样,它也有时间跨度的插槽。来自文档:

  

对于这些数组定义中的每一个,第一项是活动时间跨度为一个单位时使用的格式。例如,如果当前数据适用于一周,则使用星期数组的第一项。当活动时间跨度超过两个单位时,使用第二个和第三个项目。例如,如果当前数据适用于两周,则使用星期数组的第二项和第三项,并应用于时间跨度的开始和结束日期。