2017-09-26 1 views
0

Mon logiciel enregistre certains paramètres de périphériques et si l'appareil est éteint je veux "interrompre" la série (je pense que je vais ajouter une valeur spéciale sur les données pour mettre en évidence un appareil) et dessiner points uniquement lorsque l'appareil est allumé.JavaFx LineChart série d'interruptions

J'utilise JavaFX LineChart (je ne veux pas changer la bibliothèque)

Désolé pour mon très aucun talent en utilisant la peinture!

enter image description here

Répondre

2

Vous devez traiter chaque ligne avant et après la pause, une nouvelle série dans le tableau. Vous pouvez conserver les mêmes couleurs en les affectant à une classe de style css personnalisée et en définissant la classe dans le fichier css de votre application.

+0

Cela peut être une solution, le problème est que dans un tableau peut être présent plusieurs séries et plusieurs interruptions. –

+0

@RonSiven J'aime votre idée mais chaque fois qu'il y a une pause, vous aurez besoin d'une nouvelle série après cela. Je crois qu'il n'y a aucun moyen de le faire dans LineChart. Je ne vois que 3 options. Le premier est de garder les choses simples et de simplement définir y les valeurs = 0 lorsque l'état est désactivé, + vous pouvez masquer l'indicateur de valeur en passant un nœud et le rendre visible = false. La deuxième solution consiste à créer un LineChart personnalisé à partir de zéro. Et enfin vous pourriez faire un diagramme de dispersion et ajouter juste des points consécutifs donnant l'illusion d'une ligne et si l'état est éteint vous ne les connecterez pas (plus comme un hack) – JKostikiadis

+0

@JKostikiadis Je vous assure, ça fonctionne vraiment bien dans un LineChart . Je l'ai utilisé en production dans une application commerciale de surveillance de l'espace disque. Chaque fois que vous ajoutez un point de données à votre série, vous vérifiez la valeur zéro. Lorsque cela se produit, vous commencez une nouvelle série et définissez la couleur appropriée. J'ai eu jusqu'à 6 séries de données d'applications colorées différentes représentées par de nombreuses séries à cartes séparées avec de nombreuses pauses. Cependant, vous rencontrez un problème si vous utilisez une légende. Chaque série est ajoutée à la légende par défaut. J'ai fini par rendre ma propre légende de graphique personnalisée pour cela. – RonSiven