web-dev-qa-db-fra.com

Tracer avec C #

C # semble montrer quelque promesse pour le calcul scientifique, mais j'ai trouvé très peu de choses sur un graphique 2D, ce qui est très important pour les étudiants en sciences et les scientifiques.

Existe-t-il un moyen fiable et gratuit de créer un tracé 2D de qualité publication avec C #? Et la possibilité d'enregistrer dans plusieurs formats (png, eps, ...). Quelque chose de similaire au matplotlib de Python?

54
Shinka

Il y a Oxyplot que je recommande et il y a aussi Live-Charts (voir update2).

Oxyplot propose des packages pour WPF, Metro, Silverlight, Windows Forms, Avalonia UI, XWT. Outre les graphiques, il peut exporter vers Svg, Pdf, OpenXml, etc. Et il prend même en charge Mono et Xamarin pour Android et IOS. Il est également activement développé.

* Mise à jour * Déplacé vers GitHub https://github.com/oxyplot/oxyplot

* Mise à jour 2 * Il y a aussi une nouvelle (au moins pour moi) bibliothèque de traçage opensource .Net appelée Live-Charts (lien github)

Les parcelles sont assez interactives. La bibliothèque prend en charge WPF, WinForms et UWP. Xamarin est prévu. La conception est faite vers les modèles MV *.

* Mise à jour 3 * @ Paweł Audionysos ne suggère pas une si bonne performance de Live-Charts WPF

48
MajesticRa

ZedGraph est un bon choix.

9
Bob Nadler

Voir Environnement d'échantillons pour les contrôles de graphique Microsoft :

L'environnement d'exemples pour Microsoft Chart Controls pour .NET Framework contient plus de 200 exemples pour ASP.NET et Windows Forms . Les exemples couvrent toutes les fonctionnalités principales de Chart Controls for .NET Framework. Ils vous permettent de voir les contrôles Chart en action ainsi que d'utiliser le code comme modèles pour vos propres applications Web et Windows.

Semble être plus orienté vers les affaires, mais peut être d'une certaine valeur pour étudiants et scientifiques en sciences.

8
gimel

gnuplot est un programme activement maintenu largement utilisé dans la communauté scientifique. Normalement, les tracés sont générés à partir de fichiers de données que vous pouvez écrire dans votre programme C #, mais il est également possible d'appeler l'exécutable gnuplot depuis C # et d'afficher l'image générée dans une zone d'image C #.

2
Danvil

J'ai commencé à utiliser le nouveau contrôle de graphique ASP.NET il y a quelques jours, et il est absolument incroyable dans ses capacités.

Voici le lien.

EDIT: C'est évidemment seulement si vous utilisez ASP.NET. Pas sûr de WinForms.

2
BBetances

Je voulais juste compléter la recommandation de MajesticRa de OxyPlot , et souligner comment OxyPlot peut être utilisé pour une variété de cas de traçage. Le logiciel est gratuit et Open-Source, très poli, et permet une variété d'utilisations au-delà de la cartographie 2D normale.

J'ai utilisé OxyPlot pour un projet peu orthodoxe, où j'affiche (en WPF/C #) une carte (Robotic Occupancy Grid) que je pourrais superposer avec LineSeries (Path Traveled) et PointSeries (Way Points). En utilisant la fonction OxyPlot ImageAnnotation, je suis capable d'afficher une vidéo à 60 Hz dans mon OxyPlot, en mettant à jour périodiquement ImageAnnotation sur son propre fil, tout en mappant des séries de points sur la vidéo. La vidéo d'arrière-plan et les points sont même évolutifs et traduisibles.

J'espère que cela sera utile pour les autres qui souhaitent afficher des tracés au-dessus d'images et de vidéos.

1
CodyF

NPlot est une assez bonne API de traçage 2D open source simple. Malheureusement, le site Web est en panne. Je ne sais pas si c'est juste temporaire ou non. Je n'ai entendu aucune mauvaise nouvelle. Cela peut remonter.

http://www.nplot.com

Voici un article le décrivant:

http://aspnet.4guysfromrolla.com/articles/072507-1.aspx

L'article précédent utilise VB.NET, mais cela fonctionnera évidemment avec C #.

Encore une fois, je ne sais pas pourquoi le site de nplot ne fonctionne pas actuellement, mais c'est une API de traçage quelque peu populaire que j'ai utilisée dans le passé. Je le poste pour votre information et en cas d'événement probable, nplot sera bientôt sauvegardé. :)

Modifier:

Grâce à un Hosam Aly, il semble que le projet SourceForge soit toujours accessible ici:

http://sourceforge.net/projects/nplot

0
BobbyShaftoe