Wie setze ich eine bestimmte Farbe für JavaFX XYChart.Series?

7

Ich versuche, mein JavaFX-Liniendiagramm zu stylen, finde aber keine Möglichkeit, die Farbe auf bestimmte Serien zu setzen. Ich weiß, dass ich über CSS stylen kann, aber ich kann nicht finden, wie ich ID oder CLASS auf meine Serie setzen soll.

Kann mir jemand einen Hinweis geben:

  1. Wie lege ich eine Farbe für Liniendiagramme fest?
  2. Wie setze ich eine css-Klasse auf Serie?
Yurish 22.06.2012, 09:15
quelle

4 Antworten

13

Im Allgemeinen ist die bevorzugte Art, Diagramme zu formatieren, ohne Code, wobei nur CSS-Stylesheets verwendet werden, wie es jschoen empfiehlt. Darüber hinaus können Sie, wenn weitere Anpassungen erforderlich sind, CSS-Abfragen aus Code verwenden, um in die Knoten zu graben, die aus Seriendaten generiert werden, und verschiedene zusätzliche CSS-Stile anzuwenden.

Hier finden Sie Informationen zum dynamischen Ändern eines JavaFX Liniendiagrammstil und ein Beispielprogramm , um mit der Antwort zu gehen. In der Beispiel-App erfolgt das gesamte zusätzliche CSS-Styling über einen setStyle-Aufruf aus Code. Mit einer ähnlichen Lookup-Technik können Sie auf die Series-Knoten zugreifen, um eine geeignete Stylesheet-Stilklasse anstelle eines setStyle-Aufrufs anzuwenden.

    
jewelsea 22.06.2012, 22:37
quelle
5

So legen Sie eine Farbe für Liniendiagramme fest:

Hier ist ein einfacher Weg zu AreaChart oder LineChart

%Vor%     
Nazariy Demyanovskyi 12.02.2015 12:22
quelle
4

Ich habe dieses Oracle-Dokument auf Styling-Charts mit CSS und auf dieser Seite gefunden Scrollen Sie nach unten zu Setting Chart Colors für das, wonach Sie suchen.

So legen Sie eine Farbe für Liniendiagramme fest:

Der einfachste Weg ist das folgende CSS-Snippet:

%Vor%

Dies funktioniert leider nicht nach ID oder welcher Serie, sondern nach der Reihenfolge der Serien in der Grafik. Sie können die Linienstile jedoch auch folgendermaßen festlegen:

%Vor%

Wie lege ich eine css-Klasse auf eine Serie fest?

Leider sehe ich keinen Weg, das zu tun. Es wäre schön, CSS-Regeln basierend auf der XYChart.Series-Namenseigenschaft erstellen zu können, aber das ist nicht möglich.

    
Jacob Schoen 22.06.2012 16:20
quelle
2

Jewelseas Antwort scheint zu sagen, dass Sie auf jeden Knoten der Serie eine Stilklasse setzen müssen. Ich verwende den folgenden Code, um die Reihe eines Flächendiagramms zu stylen und dem Knoten, der der Reihe zugeordnet ist, nur eine Klasse zuzuweisen. Beispielcode ist in Scala, sollte aber einfach zu übersetzen sein.

Beim Erstellen der Serie füge ich eine reihenspezifische Stilklasse hinzu:

%Vor%

Dann innerhalb der css -datei ich die folgenden die Füllfarbe der Reihe butterwings 'zu ändern:

%Vor%

Dies funktioniert, weil der Knoten für den Serienbereich unterhalb dem Reihenknoten ist (das eine Gruppe im Fall von Flächendiagramm ist).

    
ziggystar 05.09.2012 17:08
quelle

Tags und Links