我想在圖中隱藏特定的圖例項目(http://api.highcharts.com/highcharts/legend)。如果我遍歷chart.legend.allItems並嘗試更改特定項目的可見屬性,它根本不會影響圖例。如何隱藏特定的圖例項目?
$.each(chart.legend.allItems, function() {
this.visible = false;
});
如何在圖表上隱藏特定的圖例項目?
我想在圖中隱藏特定的圖例項目(http://api.highcharts.com/highcharts/legend)。如果我遍歷chart.legend.allItems並嘗試更改特定項目的可見屬性,它根本不會影響圖例。如何隱藏特定的圖例項目?
$.each(chart.legend.allItems, function() {
this.visible = false;
});
如何在圖表上隱藏特定的圖例項目?
我發現了其他的解決方案中this question
var item = chart.series[1];
//hide serie in the graph
item.hide();
item.options.showInLegend = false;
item.legendItem = null;
chart.legend.destroyItem(item);
chart.legend.render();
編輯:在`showInLegend財產
$('#container').highcharts().series[1].update({ showInLegend: false });
你可以做到這一點的load event
- Highcharts Doc
chart: {
events: {
load: function() {
var myChart = this;
$.each(myChart.series, function(index, serie) {
if(index === 2) { // hide serie
serie.hide();
}
});
}
}
},
這裏一個fiddle
,如果你想隱藏一些標籤,你可以添加一些CSS類根據的一些特殊功能隱藏起來系列。我通過其中一系列隱藏空數據的例子,也隱藏標籤:
for (var i = 0; i < chart.series.length; i++) {
if (chart.series[i].dataMax === 0) {
chart.series[i].hide();
}
}
$("#charContent").find('.highcharts-legend-item-hidden').each(function() {
$(this).addClass('hidden');
});
在CSS:
.highcharts-legend-item-hidden.hidden {
display: none;
}
也許這不是一個非常乾淨的解決方案,但它爲我工作
嗨,這個解決方案的唯一問題是標籤絕對放置在圖例容器中。隱藏位置絕對標籤在可見標籤之間留下空隙(隱藏標籤所在的位置)。你能想出任何通過操縱圖形對象來隱藏圖例的方法嗎? – Tawriq
我發佈其他答案更好的解決方案操縱圖例對象 –
我認爲這是被證明是比它需要更復雜。
您可以在系列的配置選項中將設置爲false
。
如果您需要以編程方式執行此操作,則可以使用series.update()
來動態完成此操作。
參考:
你看:對於highcharts的最後一個版本 其他解決方案? http://api.highcharts.com/highcharts/plotOptions.series.showInLegend – jlbriggs
@jlbriggs你爲什麼不發表這個評論作爲答案?這似乎正是OP所需要的。 –