Javascript 如何使用高位图表更改工具提示

Javascript 如何使用高位图表更改工具提示,javascript,datetime,highcharts,tooltip,Javascript,Datetime,Highcharts,Tooltip,我已经使用High chart成功创建了一个图表,用于比较患者的预期时间和到达时间 但是,我现在对列的标签有问题;它以毫秒为单位显示时间 下面的屏幕截图显示了问题: 如何更改标签以格式(H:M:S)显示时间 代码: <script type="text/javascript"> function drawChart(){ var chart = new Highcharts.Chart({ chart: {

我已经使用High chart成功创建了一个图表,用于比较患者的预期时间和到达时间

但是,我现在对列的
标签有问题;它以
毫秒为单位显示时间

下面的屏幕截图显示了问题:

如何更改标签以格式(H:M:S)显示时间

代码:

<script type="text/javascript">
        function drawChart(){
            var chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'divforchart',
                    type:'column',
                },
                xAxis: {
                    name:'patients',
                    categories: [<?php
                    echo "'".$names[0]."'";
                    for($i = 1; $i < sizeof($names); $i++){
                        echo ",'".$names[$i]."'";
                    }
                    ?>]
                },
                yAxis: {
                    type: 'datetime',
                    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'
                    },
                    min: <?php echo "Date.UTC(".gmdate("Y,m,d,H",strtotime($minDate)).")";?>
                },

                series: [
                    {
                        name: 'Arrival time',
                        data: [<?php
                            echo "['".$names[0]."',Date.UTC(".gmdate("Y,m,d,H,i,s",strtotime($Arrival_time[0])).")]";
                            for($i = 1; $i < sizeof($names); $i++){
                                echo "
                                ,['".$names[$i]."',Date.UTC(".gmdate("Y,m,d,H,i,s",strtotime($Arrival_time[$i])).")]";
                            }
                        ?>]
                    },
                    {
                        name: 'Expected time',
                        data: [<?php
                            echo "['".$names[0]."',Date.UTC(".gmdate("Y,m,d,H,i,s",strtotime($Expected_time[0])).")]";
                            for($i = 1; $i < sizeof($names); $i++){
                                echo "
                                ,['".$names[$i]."',Date.UTC(".gmdate("Y,m,d,H,i,s",strtotime($Expected_time[$i])).")]";
                            }
                        ?>]
                    }
                ]
            });
        }
    </script>
    </head>
    <body onLoad="drawChart()">
     <div id="divforchart" style="height: 400px"></div>
    </body>

函数绘图图(){
var图表=新的Highcharts.图表({
图表:{
renderTo:“divforchart”,
类型:'column',
},
xAxis:{
姓名:"病人",,
类别:[
},
系列:[
{
名称:'到达时间',
数据:[尝试:

Highcharts.dateFormat(values)
请看这里:

如果您希望它出现在系列中,也可以更改工具提示

series: [{
        dataLabels: {
            enabled: true,
            formatter:function() {
                return Highcharts.dateFormat('%H:%M:%S',this.y);
            },
            style:{color:"black"}
        },
        data: [data]
    }]
工具提示:

tooltip:{
    formatter:function() {
        return Highcharts.dateFormat('%H:%M:%S',this.y);
    }
}
您的代码必须如下所示:

chart: {
                    renderTo: 'divforchart',
                    type:'column',
                },
tooltip: { ...

从外观上看,您指的是工具提示,而不是dataLabel。 您可以使用格式化程序功能正确格式化日期:

(如果您实际上谈论的是dataLabel,您仍然可以做同样的事情:)

我认为默认设置是对y轴值进行numberFormat,但您需要在格式化程序中使用dateFormat函数:


如果需要帮助实现,请创建一个JSFIDLE()和post back

是的,您是正确的,这是工具提示,而不是数据标签。虽然我不确定此功能在哪里或如何编辑它?详细信息在我的回答中链接到的示例中。请看这里:在我的代码中,我认为没有指定工具提示,因为我在任何地方都看不到它,但工具提示显然在工作?工具提示是默认情况下启用,并建立了默认格式。我给了您指向文档的链接,它们链接到图表示例。我给了您一个使用确切场景的示例。您所要做的就是查看这些示例:)我按照建议插入了您的代码,但一旦执行,图表就不会显示。删除颜色:颜色[0],我在代码中将颜色声明为var,我编辑我的答案。或者使用F12检查您的控制台并查看错误。