Ich habe Schwierigkeiten, den korrekten Weg zur Aktualisierung eines Highcharts-Diagramms zu verstehen. Angenommen, ich habe ein Diagramm gerendert, und dann möchte ich es irgendwie aktualisieren. Zum Beispiel möchte ich vielleicht die Werte der Datenreihe ändern, oder ich möchte dataLabels aktivieren.Highcharts - redraw() vs. new Highcharts.chart
Im Moment ist der einzige Weg, wie ich das herausfinden kann, ist, die Diagrammoptionen zu ändern und new Highcharts.chart
zu verwenden, um Highcharts neu zu zeichnen.
Ich frage mich jedoch, ob dies möglicherweise übertrieben ist und es möglich sein könnte, das Diagramm 'in situ' zu ändern, ohne mit new Highcharts.chart
von vorne anfangen zu müssen. Ich merke, dass es eine redraw()
Methode gibt, aber ich kann nicht scheinen, es zur Arbeit zu bringen.
Jede Hilfe wird sehr geschätzt.
Danke,
Robin
ist Beispielcode, wie und unten folgt, ist ein jsFiddle
$(document).ready(function() {
chartOptions = {
chart: {
renderTo: 'container',
type: 'area',
},
series: [{
data: [1,2,3]
}]
};
chart1 = new Highcharts.Chart(chartOptions);
chartOptions.series[0].data= [10,5,2];
chart1 = new Highcharts.Chart(chartOptions);
//The following seems to have no effect
chart1.series[0].data = [2,4,4];
chart1.redraw();
});
[Bearbeiten]:
Für jede zukünftige Zuschauer dieser Frage ist es nicht wert Es gibt keine Methode, dataLabels ein- und auszublenden. Im Folgenden wird gezeigt, wie es geht: http://jsfiddle.net/supertrue/tCF8Y/
Der Link zu Ihrer Show/Hide dataLabels Beispiel seine HighCharts Quell-URL erforderlich aktualisiert (es wurde 404ing), und jQuery musste aktualisiert werden. Ich habe dies in http://jsfiddle.net/supertrue/tCF8Y/ – supertrue