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