Ich möchte ein paar Textstücke in meine Grafik einfügen. Nun kann ich das manuell tun, indem ich die XY-Koordinaten festlege. Dies ist jedoch wahrscheinlich nicht der beste Weg, da sich die Größe des Diagramms ändern kann und die Positionen fest codiert sind.Text und Kreis im Highcharts-Diagramm dynamisch positionieren?
Gibt es eine Möglichkeit, die Positionen einer Linie auf dynamische Weise abzuleiten? Das heißt: Was ist die x/y-Koordinate der Position x = 1980? Here is a fiddle dafür.
options.series.push(series);
options.chart.events = {
load: function() {
var chart = this;
chart.renderer.text('1970: Arbitrary chosen reference year: All cumulative values are relative to 1970.', xOffset, yOffset)
.css({
fontSize: '13px',
color: '#aaa',
width: '550px'
})
.add();
chart.renderer.text('1980: observed loss in glacier thickness cumulates to 2 m w.e. since 1970.', 520, 220)
.css({
fontSize: '13px',
color: '#7994d9',
width: '520px'
})
.add();
chart.renderer.text('1990: cumulative ice loss of 4 m w.e.', 690, 255)
.css({
fontSize: '13px',
color: '#ff6c7f',
width: '320px'
})
.add();
}
Ich denke, dass Sie Redraw-Event-Callback-Funktion verwenden können und innerhalb dieser Funktion können Sie Pixelwerte Ihrer Punkte mit Axis.toPixels (Wert) erhalten. Hier können Sie ein Beispiel sehen, wie es mit Ihrem Kreis funktionieren kann: http://jsfiddle.net/17ed42pa/7/ –