Highcharts添加没有数据的标签/列

时间:2018-04-24 12:20:41

标签: highcharts

我遇到了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,
                }

            });

有谁知道如何阻止它在点与实际数据之间绘制标签/列?

谢谢!

1 个答案:

答案 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/