【问题标题】:How Can I Hide a Pie Chart's Slice in HighCharts Without Removing It From the Legend?如何在 HighCharts 中隐藏饼图的切片而不将其从图例中删除?
【发布时间】:2014-04-15 17:00:37
【问题描述】:

我到处寻找这个问题的答案,但我似乎无法弄清楚我在这里做错了什么。

我只是希望能够使用 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*****//

而且效果很好。

问题是,当我尝试在 highcharts“饼图”图表中执行此操作时,它不起作用(没有错误或任何东西,根本不起作用)。

我认为它的工作方式与上述相同,因为文档显示了相同的 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*****//

我猜您必须在饼图中以不同的方式执行此操作?我在某处看到可以重绘饼图,但这真的有必要吗?

【问题讨论】:

  • 所以你想完全隐藏一个切片并让饼图仍然完成它的完整旋转?
  • 对不起,我没有快速回复,我发了帖子,不得不去吃午饭,但既然你已经成功回答了我的问题,是的,我确实希望它完成整个轮换。再次感谢!
  • stackoverflow.com/questions/25313273/pie-chart-custom-legend 这个怎么样?这更适合动态隐藏

标签: javascript jquery plugins charts highcharts


【解决方案1】:

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

在此处查看FIDDLE

【讨论】:

  • 是的,成功了。我想知道他们为什么不在这里坚持hide() 方法。也许饼图的行为太不同了,这种方法是为其他图表类型保留的。无论如何,非常感谢你的回答,我真的傻眼了,没有东西可以尝试甚至抬头,哈哈。
  • 是否有类似折线图的切换选项,使用 ,show() 和 .hide() ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
相关资源
最近更新 更多