2009-02-15 5 views
39

C# sembra mostrare alcune promesse per il calcolo scientifico, ma ho trovato molto poco su un grafico 2D di disegno, che è molto importante sia per gli studenti che per gli scienziati.Tracciare con C#

Esiste un modo affidabile e gratuito per creare un grafico 2D di qualità di pubblicazione con C#? E la capacità di salvare in diversi formati (png, eps, ...). Qualcosa di simile al matplotlib di Python?

risposta

2

Ho iniziato a utilizzare il nuovo controllo grafico ASP.NET alcuni giorni fa, ed è assolutamente incredibile nelle sue capacità.

Here is the link.

EDIT: Questo è ovviamente solo se si utilizza ASP.NET. Non sono sicuro di WinForms.

+0

non hai incluso il link – ChrisW

+0

E 'stato lì prima della modifica credo. – BobbyShaftoe

+0

Le informazioni sono disponibili all'indirizzo: http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot -gt.aspx – Cerebrus

0

NPlot è una semplice API di plottaggio 2D open source. Sfortunatamente, il sito web non funziona. Non so se questo è solo temporaneo o no. Non ho sentito nessuna brutta notizia. Potrebbe tornare su.

http://www.nplot.com

Ecco un articolo che descrive è:

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

L'articolo precedente utilizza VB.NET, ma ovviamente questo funzionerà con C#.

Ancora una volta, non sono sicuro del motivo per cui il sito di nplot non funziona al momento, ma è un'API di plottaggio un po 'popolare che ho usato in passato. Lo postò per vostra informazione e in caso di probabile evento, nplot tornerà presto. :)

Edit:

Grazie ad un Hosam Aly, sembra che il progetto SourceForge è ancora possibile accedere qui:

http://sourceforge.net/projects/nplot

+0

È ancora possibile aprire la pagina del progetto in SourceForge: http://sourceforge.net/projects/nplot –

8

ZedGraph è una buona scelta.

+0

Ho anche avuto successo con ZedGraph per le applicazioni più piccole –

+0

ZedGraph è davvero buono per le applicazioni più piccole. – dalle

+4

Sono io, o ZedGraph è brutto? Mi mancano le opzioni che lo rendono bello? –

7

Vedi Samples Environment for Microsoft Chart Controls:

L'ambiente di campioni per Microsoft Chart Controls per .NET Framework contiene più di 200 campioni per ASP.NET e Windows Form. Gli esempi coprono tutte le principali funzionalità di Chart Controls per .NET Framework. Ti consentono di visualizzare i controlli del grafico in azione e di utilizzare il codice come modelli per le tue applicazioni Web e Windows.

sembra essere più business oriented, ma può essere di qualche valore da studenti di scienze e gli scienziati.

+0

Assicurarsi di controllare la scheda doenloads per il codice di esempio –

-7

FWIW, probabilmente si desidera guardare F# anziché C# nel contesto del calcolo tecnico perché lo F# è progettato specificamente per tale scopo. Tuttavia, ho sviluppato la mia libreria di plottaggio commerciale perché non ero soddisfatto di nulla liberamente disponibile su .NET.

2

gnuplot è un programma attivamente mantenuto ampiamente utilizzato nella comunità scientifica.Normalmente i diagrammi sono generati da file di dati che è possibile scrivere nel programma C#, ma è anche possibile chiamare l'eseguibile gnuplot da C# e visualizzare l'immagine generata in una casella immagine C#.

+1

Esistono librerie di plottaggio native per C# simili a gnuplot? Sono un po 'titubante nell'usare qualcosa di simile quando è necessario chiamare altri processi. – theGreenCabbage

38

C'è Oxyplot che consiglio e anche c'è Live-Charts (vedi aggiornamento2).

Oxyplot ha pacchetti per WPF, Metro, Silverlight, Windows Forms, Avalonia UI, XWT. Oltre alla grafica è possibile esportare in Svg, Pdf, OpenXml, ecc. Supporta anche Mono e Xamarin per Android e IOS. È anche attivamente sviluppato.

* Aggiornamento * trasferisce a GitHub https://github.com/oxyplot/oxyplot

* Aggiornamento 2 * C'è anche un nuovo (almeno per me) opensource .Net biblioteca tramando chiamato Live-Charts (github link)

Le trame sono abbastanza interattivi. La biblioteca supporta WPF, WinForms e UWP. Xamarin è pianificato. Il design è fatto verso modelli MV *.

1

Volevo solo integrare la raccomandazione di MajesticRa su OxyPlot e indicare come OxyPlot può essere utilizzato per una varietà di casi di stampa. Il software è gratuito e Open-Source, molto lucido, e consente una varietà di usi per la normale mappatura 2D di beyon.

Sto usando OxyPlot per un progetto non ortodosso, dove visualizzo (in WPF/C#) una mappa (griglia di occupazione robotica) che potrei sovrapporre a LineSeries (percorso percorso) e PointSeries (punti percorso). Usando la funzione OxyPlot ImageAnnotation, sono in grado di visualizzare video a 60Hz all'interno del mio OxyPlot, aggiornando periodicamente ImageAnnotation sul proprio thread, mentre mappando Series of points sovrasta il video. Il video di sfondo e i punti sono anche scalabili e traducibili.

Si spera che questo sia utile per altri utenti che desiderano visualizzare trame di immagini e video.