在highcharts甜甜圈图表中使用小时和分钟作为数据

在highcharts甜甜圈图表中使用小时和分钟作为数据,highcharts,pie-chart,dataformat,Highcharts,Pie Chart,Dataformat,我有一个油炸圈饼图表,想显示小时和分钟。使用highcharts饼图和持续可见的向下展开数据这导致了一个大问题,请先查看图片: 内部蓝色切片的值为10.40,表示时间为10:40。两个外部切片的值是5.50和4.50,加起来是小时和分钟,结果是10.40,但highcharts不知道这是一种时间格式,所以它加起来是10.00,这完美地显示了我的问题 我尝试将yAxis类型设置为datetime type: 'datetime', 到目前为止,这并没有改变任何事情。我找到了其他类似的条目,这让

我有一个油炸圈饼图表,想显示小时和分钟。使用highcharts饼图和持续可见的向下展开数据这导致了一个大问题,请先查看图片:

内部蓝色切片的值为10.40,表示时间为10:40。两个外部切片的值是5.50和4.50,加起来是小时和分钟,结果是10.40,但highcharts不知道这是一种时间格式,所以它加起来是10.00,这完美地显示了我的问题

我尝试将yAxis类型设置为datetime

type: 'datetime',
到目前为止,这并没有改变任何事情。我找到了其他类似的条目,这让我很遗憾地不知所措


我错过什么了吗?很高兴得到帮助。

这是一个最小的示例解决方案,使用毫秒值仅显示小时和分钟():

var m=1000*60;
var h=m*60;
$(“#容器”)。高图({
图表:{
键入:“馅饼”
},
工具提示:{
格式化程序:函数(){
返回“+this.series.name+”
+ Highcharts.dateFormat(“%H:%M”,新日期(this.y)); } }, 系列:[{ 名称:'内部', 数据:[ {名称:'A',y:(10*h)+(40*m),颜色:'blue'}, {名称:'B',y:(3*h),颜色:'red'}, ], 尺寸:“60%” }, { 名称:'外部', 数据:[ {名称:'A1',y:(5*h)+(50*m),颜色:'blue'}, {名称:'A2',y:(4*h)+(50*m),颜色:'blue'}, {名称:'B1',y:(3*h),颜色:'red'}, ], 大小:“100%”, 内部尺寸:“60%” }] });
在这里,我们只是在时间从0到0的情况下进行操作。工具提示用于以可读格式设置值的格式


请参见使用一些代码为切片上色,如示例图片。

您以何种形式接收时间信息?你能随心所欲地操纵它吗?如果是这样的话,我认为
datetime
是最好的选择。我可以随心所欲地操纵它。但我只需要几个小时和几分钟。如果datetime是正确的,你能给我一个有效的例子吗?在我写这篇文章的时候,我意识到,
datetime
是不相关的,因为与数值相比,你并没有从中获得任何东西。无论如何,您都必须对工具提示进行格式化。将
yAxis.type
设置为
datetime
不会改变上述示例中的任何内容。感谢您的回答,看起来不错。我明天会试着评论:)就是这么简单,但又完美。非常感谢你的回答。
var m = 1000 * 60;
var h = m * 60;

$('#container').highcharts({
    chart: {
        type: 'pie'
    },
    tooltip: {
        formatter: function() {
            return  '<b>' + this.series.name +'</b><br/>' +
                    Highcharts.dateFormat('%H:%M', new Date(this.y));
        }
    },
    series: [{
        name: 'Inner',
        data: [
            { name: 'A', y: (10 * h) + (40 * m), color: 'blue' }, 
            { name: 'B', y: (3 * h), color: 'red' }, 
        ],
        size: '60%'
    }, {
        name: 'Outer',
        data: [
            { name: 'A1', y: (5 * h) + (50 * m), color: 'blue' }, 
            { name: 'A2', y: (4 * h) + (50 * m), color: 'blue' }, 
            { name: 'B1', y: (3 * h), color: 'red' }, 
        ],
        size: '100%',
        innerSize: '60%'
    }]
});