我到处都在寻找答案,但是似乎无法弄清楚我在做什么错。

我只希望能够使用HighCharts启动饼图,并隐藏某些切片(就像在图例中“单击”它们一样)。

我已经在HighStock中做到了,这很简单:

var chart = $("#overallChart").highcharts(); //$("#overallChart") is the div where my HighStock chart is rendered to.
var series = chart.series;

//*****SET DEFAULT STARTING LINES*****//
for (var s = 0; s < series.length; s++) {
    if (s != 1 && s != 2 && s != 3 && s != 4) {
        series[s].hide();
    }
}
//*****set default starting lines*****//


而且效果很好。

问题是,当我尝试在高图表的“饼图”图表中执行此操作时,它不起作用(没有错误或其他任何内容,只是不起作用)。

我认为它的工作方式与上述相同,因为文档显示了相同的hide()方法(以及说明)。 Highcharts API Reference

这是我的饼图代码:

var pieChart = $("#overallPie").highcharts(); //$("#overallPie") is the div where my Highcharts chart is rendered to.
var pieSeries = pieChart.series;

//*****SET DEFAULT STARTING SLICES*****//
for (var p = 0; p < pieSeries.length; p++) {
    if (p != 0 && p != 1) {
        pieSeries[p].hide();
    }
}
//*****set default starting slices*****//


我猜您在饼图中必须采取不同的做法吗?我见过某个地方可以重绘饼图,但这真的有必要吗?

最佳答案

如果我正确理解了您的问题,则可以在数据系列上使用visible: false

在这里查看FIDDLE

09-26 10:24