以高图形式动态更改xAxis Tick Label的日期时间格式

时间:2012-06-13 08:12:09

标签: javascript highcharts

我需要根据用户的选择在MM/dd/yyyy HH:mm:ssMM/dd/yyyy之间更改X轴勾选标签的日期时间格式。
我怎样才能使用javascript实现这一目标?

3 个答案:

答案 0 :(得分:5)

获得解决方案,只需使用以下代码(ASP.NET)

使tickInterval动态化
tickInterval : <%=IsHourly?1:24 %> * 3600 * 1000,

使用相同的逻辑来更改工具提示。

答案 1 :(得分:2)

xAxis : {
            type : 'datetime',
            gridLineWidth : 1,
            gridLineColor : '#F2F2F2',
            lineColor : '#FF0000',
            tickInterval : 3600 * 1000,
            dateTimeLabelFormats : {
                second : '%H:%M',
                minute : '%H:%M',
                hour : '%H:%M',
                day : '%e',
                week : '%e',
                month : '%e',
                year : '%e'
            }
        },

请参阅 dateTimeLabelFormats 选项,您可以使用它来更改x轴签名标签。

如果您需要更清晰,请告诉我。!

编辑:

可以在Highcharts网站上找到更多API参考here

Demo

编辑2:好的,如果您需要动态更改它 首先根据计算结果将所需格式保存为String
诸如var labelFormat = '%H:%M'之类的内容 然后在渲染图表时将dateTimeLabelFormats与其他必需选项放在一起。

dateTimeLabelFormats : { labelFormat }

然后调用redraw()方法,你就完成了。

请注意:我尚未测试此代码。

答案 2 :(得分:0)

我知道我太迟了但是如果你正在寻找一个纯粹的JavaScript实现,这可能有用:

tooltip:{formatter:function(){
            const selectedFormat = document.getElementById("dateFormat").value;
            const finalDate = Highcharts.dateFormat(selectedFormat, this.x);
            return finalDate;
        }
}

http://jsfiddle.net/527moaLs/

我想你可以自己找到剩下的解决方案