ハイストック チャートの plotLine ラベルの背後に背景を描画したいと考えています。Highstock API の例を使用して、次のコードを作成しました (crt はチャート オブジェクトです)。
var textbox = crt.yAxis[ 0 ].plotLinesAndBands[ 0 ].label;
var box = textbox.getBBox();
crt.renderer.rect(box.x - 3, box.y + 1, box.width + 6, box.height, 3).attr({
fill: '#0c0',
id: 'labelBack',
opacity: .7,
'stroke-width': 0,
zIndex: 4
}).add();
これにより、意図したとおりにラベルの後ろに半透明のボックスが描画されます (ラベルの zIndex は 5 です)。ただし、チャートのサイズを変更すると、ボックスはチャートの左上に対して同じ位置を維持するため、ラベル テキストとの位置ずれが発生します (チャートのサイズ変更によりラベルの位置が変わります)。これにチャートの再描画イベントを使用してみましたが、イベントが発生し、関数が再度実行されていることがわかりますが、他のボックスは描画されません (各再描画でより多くのボックスを表示しようとしていたため、次の反復で廃止されたボックスを削除して解決します)。どうすればこれを解決できますか?