情景是一個動態多金字塔圖表,金字塔數字,金字塔位置,屏幕大小和其他參數都可能有所不同。我正在尋找一種方法在每個金字塔頂部顯示系列名稱作爲標題。在Highcharts中,如何爲多金字塔圖表中的每個金字塔設置標題
我發現了「如何設置標題多餅圖每個餡餅」,通過延長當前的庫:
Highcharts.seriesTypes.pie.prototype.setTitle = function (titleOption) {
var chart = this.chart,
center = this.center || (this.yAxis && this.yAxis.center),
labelBox,
box,
format;
if (center && titleOption) {
var centerX = center[0],
centerY = center[1],
diameter = center[2];
box = {
x: chart.plotLeft + centerX - 0.5 * diameter,
y: chart.plotTop + centerY - 0.5 * diameter,
width: diameter,
height: diameter
};
format = titleOption.text || titleOption.format;
format = Highcharts.format(format, this);
if (this.title) {
this.title.attr({
text: format
});
} else {
this.title = this.chart.renderer.label(format)
.css(titleOption.style)
.add();
}
labelBox = this.title.getBBox();
titleOption.width = labelBox.width;
titleOption.height = labelBox.height;
this.title.align(titleOption, null, box);
}
};
但我不能以類似的方式應用到金字塔。因此,我的問題是,是否有任何解決方法爲具有多個金字塔的金字塔圖表中的每個金字塔設置標題?
這裏是一個小提琴: https://jsfiddle.net/scottszb1987/hsbepxo5/
添加此選項金字塔應該是差不多了。問題在於,你有與此主題相關的小Highcharts錯誤:https://github.com/highcharts/highcharts/issues/5500 和Highcharts計算錯誤的金字塔中心位置。在這裏你可以看到一個例子顯示,setTitle因爲這個bug而偏愛工作:http://jsfiddle.net/hsbepxo5/1/你可以考慮使用renderer.text來代替:http://api.highcharts.com/highcharts# Renderer.text –
@GrzegorzBlachliński嗨,非常感謝!我想你是對的!正如你所提到的,我最終使用了'renderer.text'。如果你給他們留下一個答案,我會將它標記爲正確答案:D。 – Feedfedfat
高興地看到我的想法對你有用:)我發佈了它作爲答案 –