Wir verwenden Highcharts und haben einige komplexe Charts mit ungefähr 75 Serien innerhalb des Charts. Die Serien werden nicht im gesamten Chart verwendet, sondern nur für einen Zeitraum von drei Monaten. So haben wir etwa 15 Serien pro Jahr und die Gesamtchart umfasst fünf Jahre (macht etwa 15 * 5 = 75 Serien). Highcharts zeigt jedoch alle 75 Diagramme in seiner Legende an. Ziel ist es, die Legende nur für die sichtbaren Serien zu minimieren. Wir sind in der Lage, die verwandte Serie in JS-Code zu bestimmen, und wir haben versucht, die 'showInLegend'-Flags der verwandten Serie, z. B.
, umzuschalten %Vor%aber ohne Wirkung. Wir haben versucht, das Diagramm mit
neu zu zeichnen %Vor%aber das hat keine Wirkung ... die Legende bleibt unverändert.
Also sind die Fragen:
Nun, wenn du showInLegend
einstellst, reicht das nicht aus, da gibt es noch ein paar weitere hooks, um die du dich kümmern musst
Siehe die Antwort von Halvor Strand für einen neueren Weg
Dabei kann Element ein Punkt oder eine Serie sein
%Vor%Hinzufügen der Legende dynamisch | Highchart & amp; Highstock @ jsFiddle
Dies kann jetzt ohne irgendwelche Hacks durch die Methode Series.update
( API ) gelöst werden. Zum Beispiel:
Siehe diese JSFiddle-Demonstration . Die Methodensignatur lautet:
%Vor% Wo options
Optionen für ein normales Series
-Objekt sind. Sie können optional das Neuzeichnen anhalten, um vor dem Neuzeichnen mehrere Optionen zu ändern.
Tags und Links charts highcharts