我遇到了Highcharts绘图点没有附加数据的问题。该图表是一个带有向下钻取的柱形图,显示了顶层每周的平均“时间”,并显示了所选周的每个案例的实际值。
我的问题是:当我深入到某个星期时,如果两个现有案例ID之间存在不存在的案例,它们仍会显示在图表上。
考虑第6周传递的数据:[[272,25.07] [297,500.54]],只存在两种情况:272和297.但是,Highcharts给了我这个:
https://i.stack.imgur.com/MpABB.png
这是图表本身的代码:
Highcharts.chart('DrilldownChart', {
chart: {
type: 'column'
},
title: {
text: ''
},
subtitle: {
text: ''
},
xAxis: {
type: "",
labels: {
rotation: 90
},
},
yAxis: {
title: {
text: ''
}
},
exporting: {
enabled: false
},
credits: {
enabled: false
},
legend: {
enabled: false
},
plotOptions: {
column: {
minPointLength: 0
},
series: {
borderWidth: 0,
dataLabels: {
enabled: false,
format: '{point.y:.1f}',
rotation: 270
}
}
},
tooltip: {
pointFormat: '<span style="color:{#000}"></span>{point.y:.2f}<br/>'
},
series: MainDataArray,
drilldown: {
series: DrilldownDataArray,
}
});
有谁知道如何阻止它在点与实际数据之间绘制标签/列?
谢谢!
答案 0 :(得分:0)
您只需要将数组中的x
值转换为String
类型,然后将它们视为类别名称而不是类别索引。要进行转换,您可以使用Array.map()
函数:
var drilldownSeries = [{
id: 'One',
data: [[272, 25.07], [297, 500.54]].map(elem => {
return [elem[0].toString(), elem[1]]
})
}]
但是,在此之前请确保您的xAxis.type
设置为'category'
,因为我注意到在您的代码中有一个空字符串分配给type
字段。
以下是显示如何实现所述效果的示例: https://jsfiddle.net/8h03urrr/