Javascript 是否有办法使用highcharts更改系列显示值

Javascript 是否有办法使用highcharts更改系列显示值,javascript,django,highcharts,Javascript,Django,Highcharts,我是stackoverflow、django和highcharts的新手,因此给您带来不便,我深表歉意 因此,当我注意到一个小问题时,我正在用图表显示时间和日期。 当看图表时,一切看起来都像这样 但当我将鼠标悬停在图表上的某个点上时,它会显示不同的值。看起来像这样 我希望当聚焦在一个点上时,它会像在侧面一样显示为HH:MM:SS,而不是总的微秒数。我需要做什么改变才能实现它 这是图表的代码 <script>

我是stackoverflow、django和highcharts的新手,因此给您带来不便,我深表歉意

因此,当我注意到一个小问题时,我正在用图表显示时间和日期。 当看图表时,一切看起来都像这样

但当我将鼠标悬停在图表上的某个点上时,它会显示不同的值。看起来像这样

我希望当聚焦在一个点上时,它会像在侧面一样显示为HH:MM:SS,而不是总的微秒数。我需要做什么改变才能实现它

这是图表的代码

    <script>
                                $(function () {
                                $('#container').highcharts({
                                    chart:
                                    {
                                        type: 'line'
                                    },
                                    title:
                                    {
                                        text: 'Time worked by {{user_to_show}}'
                                    },
                                    xAxis:
                                    {
                                        categories: {{dates|safe}}
                                    },
                                    yAxis:
                                    [{
                                        title:
                                        {
                                            text: ''
                                        },
                                        gridLineWidth: 1,
                                        type: 'datetime', //y-axis will be in milliseconds
                                        dateTimeLabelFormats:
                                        { //force all formats to be hour:minute:second
                                                second: '%H:%M:%S',
                                                minute: '%H:%M:%S',
                                                hour: '%H:%M:%S',
                                                day: '%H:%M:%S',
                                                week: '%H:%M:%S',
                                                month: '%H:%M:%S',
                                                year: '%H:%M:%S'
                                        },
                                        opposite: true
                                    }],
                                    plotOptions:
                                    {
                                        series:
                                        {
                                            dataLabels:
                                            {
                                                enabled: true,
                                                formatter: function()
                                                {
                                                    if( this.series.index == 0 )
                                                    {
                                                        return secondsTimeSpanToHMS(this.y/1000) ;
                                                    }
                                                    else
                                                    {
                                                        return this.y;
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    series:
                                    [{
                                        name: 'Time',
                                        yAxis: 0,
                                        data: {{time|safe}}
                                    }]
                                });
                            });

                        function secondsTimeSpanToHMS(s) {
                            var h = Math.floor(s / 3600); //Get whole hours
                            s -= h * 3600;
                            var m = Math.floor(s / 60); //Get remaining minutes
                            s -= m * 60;
                            return h + ":" + (m < 10 ? '0' + m : m) + ":" + (s < 10 ? '0' + s : s); //zero padding on minutes and seconds
                        }
 </script>

$(函数(){
$(“#容器”)。高图({
图表:
{
类型:“行”
},
标题:
{
文本:{{user_to_show}}的工作时间
},
xAxis:
{
类别:{dates | safe}}
},
亚克斯:
[{
标题:
{
文本:“”
},
网格线宽度:1,
类型:'datetime',//y轴将以毫秒为单位
日期时间标签格式:
{//强制所有格式为小时:分钟:秒
第二个:“%H:%M:%S”,
分钟:“%H:%M:%S”,
小时数:“%H:%M:%S”,
日期:“%H:%M:%S”,
周:“%H:%M:%S”,
月份:“%H:%M:%S”,
年份:'%H:%M:%S'
},
相反:对
}],
打印选项:
{
系列:
{
数据标签:
{
启用:对,
格式化程序:函数()
{
如果(this.series.index==0)
{
返回第二次激励计划(本年度/1000);
}
其他的
{
把这个还给我;
}
}
}
}
},
系列:
[{
名称:'时间',
雅克斯:0,
数据:{时间|安全}
}]
});
});
功能二次激励模式{
var h=Math.floor(s/3600);//整小时
s-=h*3600;
var m=Math.floor(s/60);//获取剩余的分钟数
s-=m*60;
返回h+“:”+(m<10?'0'+m:m)+“:”+(s<10?'0'+s:s);//分秒零填充
}
如果您想要更多的代码、数据或信息,请告诉我。
提前感谢所有回复的人。

我找到了解决问题的方法。必须补充:

tooltip:
                                {
                                        formatter: function ()
                                        {
                                            var text = this.x + ': ' + secondsTimeSpanToHMS(this.y/1000);
                                            return text;
                                        }
                                },
结果是:


(将此帖子标记为已回复,但stackoverflow在2天之前不会让我这么做)

我不知道highcharts,但我很确定您在if/else处返回此帖子。y;if/else是将HH:MM:SS添加到所有点之上的部分,我对highcharts的用法知之甚少,以确定我是否可以解决那里的问题。