Existe-t-il des bibliothèques de traçage de données Java gratuites et décentes ?[fermé]

StackOverflow https://stackoverflow.com/questions/6612

Question

Sur un projet Java récent, nous avions besoin d'un utilitaire gratuit de traçage de données en temps réel basé sur Java.Après de nombreuses recherches, nous avons trouvé cet outil appelé le Boîte à outils de graphiques scientifiques ou SGT de la NOAA.Cela semblait assez robuste, mais nous avons découvert qu'il n'était pas très configurable.Ou du moins pas assez configurable pour répondre à nos besoins.Nous avons fini par approfondir le code Java, procéder à une ingénierie inverse du code et le modifier complètement pour que l'outil de tracé ressemble et agisse comme nous le souhaitions.Bien sûr, cela a tué toute chance de futures mises à niveau de la NOAA.

Alors, quels outils ou bibliothèques de traçage de données basés sur Java, gratuits ou bon marché, utilisez-vous ?

Suivi:Merci pour le JFreeChart suggestions.J'ai consulté leur site Web et cela ressemble à un très bon utilitaire de cartographie et de traçage de données.J'aurais dû préciser dans ma question initiale que je cherchais spécifiquement à tracer des données en temps réel.J'ai corrigé ma question ci-dessus pour que ce soit clair.Il semble que La prise en charge de JFreeChart pour les données en direct est, au mieux, marginale..Avez-vous d'autres suggestions?

Était-ce utile?

La solution

J'ai eu du succès en utilisant JFreeChart sur plusieurs projets.C'est très configurable.JFreeChart est open source, mais ils facturent le guide du développeur.Si vous faites quelque chose de simple, l'exemple de code est probablement suffisant.Sinon, 50 $ pour le guide du développeur est une très bonne affaire.

En ce qui concerne les données « en temps réel », j'ai également utilisé JFreeChart pour ce type d'applications.Malheureusement, j'ai dû créer des modèles de données personnalisés avec des mécanismes de synchronisation appropriés pour éviter les conditions de concurrence.Cependant, ce n'était pas très difficile et JFreeChart resterait mon premier choix.Cependant, comme le suggère la FAQ, JFreeChart pourrait ne pas vous offrir les meilleures performances si cela constitue un gros problème.

Autres conseils

Je viens de rencontrer un problème similaire (affichage de données à mise à jour rapide à des fins d'ingénierie) et j'utilise JChart2D.C'est assez minimaliste et présente quelques bizarreries mais cela semble assez rapide :J'exécute un test de vitesse de référence dans lequel il ajoute 2 331 points par seconde (333 x 7 traces) à un graphique en bandes et utilise 1 % du processeur de mon Pentium 4 à 3 GHz.

Graphique en direct prend en charge le rendu en temps réel.

j'utilise GRAL pour le traçage en temps réel.C'est une bibliothèque Java LGPL.Bien qu'il ne soit pas aussi puissant que JFreeChart, il possède une API plus agréable.J’ai mis en place un complot en très peu de temps.Ils fournissent également un exemple de traçage en temps réel.

J'ai trouvé cette question lorsque je cherchais sur Google des bibliothèques de traçage open source pour Java.Je n'étais pas très satisfait des réponses publiées ici, j'ai donc fait des recherches plus approfondies sur la question.Bien que cette question ait été publiée en 2008, elle pourrait encore intéresser quelqu'un.

Voici une liste de Outils de création de graphiques et de rapports Open Source en Java

http://autoplot.org/ permet des mises à jour en temps réel et peut être utilisé pour créer de nombreux types de tracés scientifiques.

Pour mettre à jour le tracé, spécifiez l'URL d'un fichier de données, puis ajoutez &filePollUpdates=1&tail=100.Voir l'exemple sur http://autoplot.org/cookbook#Loading_Data

Waterloo Scientific Graphics est un nouveau projet LGPL.Les objets de données sont observables et pourraient être mis à jour dans un scénario de traçage en temps réel.Pour plus de détails, voir http://waterloo.sourceforge.net/

Quelques captures d'écran :

http://waterloo.sourceforge.net/images/AnatomyZ.png

http://waterloo.sourceforge.net/images/contour.png

http://waterloo.sourceforge.net/images/errorbar.png

Terrain4j prend également en charge le traçage en temps réel !

J'ai utilisé JFreeChart (http://www.jfree.org/jfreechart/) sur un projet précédent.Il possède de très bonnes fonctionnalités intégrées et la conception était BEAUCOUP extensible afin que vous puissiez toujours lancer votre propre extension plus tard si vous aviez besoin d'une annotation de graphique personnalisée ou si vous souhaitiez qu'un axe soit rendu différemment, ou autre.Cela vaut vraiment le détour.

Vérifiez les ILOG JViews - ils ont beaucoup de choses et quelque chose pourrait répondre à vos besoins.Tous sont extrêmement configurables et assez rapides.Pas gratuit cependant.

j'ai utilisé JFreeChart dans une application plutôt complexe qui nécessitait de visualiser des flux de données et des calculs basés sur les données.Nous avons implémenté la possibilité de modifier visuellement les tracés de données à l'aide de la souris et disposions d'un très grand ensemble de points de données.JFreeChart l'a très bien géré.

Malheureusement, j'étais coincé avec la v0.7, mais la dernière version est tellement meilleure en termes de clarté de l'API.La communauté est très utile et les développeurs répondent également aux mails.

Si vous créez une application Web et que vous ne voulez pas vous embêter avec les bibliothèques, vous pouvez vérifier le API de graphiques Google.Je ne l'ai pas utilisé moi-même, mais j'ai commencé des tests très prometteurs.

Pour le traçage en temps réel, vous pouvez utiliser QN Plot, JOpenChart ou son fork Openchart2.

JHandles est un package graphique alternatif pour Octave (un package mathématique).Cela vaut probablement la peine d'être étudié, mais être spécifique à Octave n'est peut-être pas ce dont vous avez besoin.

-Adam

PtTracépeut être un bon choix.Anciennement appelé Ptolémée.

jcckit peut gérer le traçage en temps réel.C'est un ours à utiliser cependant.

Je l'ai créé et j'ai créé un wrapper très simple autour pour un traçage en dehors du temps réel.L'interface compliquée sous-jacente peut également être utilisée directement.

https://bitbucket.org/hughperkins/easyjcckit

Vous voudrez peut-être consulter JMathPlot

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top