2009-02-15 24 views
39

C# parece mostrar cierta promesa para la computación científica, pero encontré muy poco acerca de cómo trazar gráficos 2D, lo cual es muy importante tanto para los estudiantes de ciencias como para los científicos.Trazando con C#

¿Existe alguna manera confiable y gratuita de crear un diagrama 2D de calidad de publicación con C#? Y la capacidad de guardar en varios formatos (png, eps, ...). Algo similar a matplotlib de Python?

Respuesta

2

Empecé a utilizar el nuevo control de gráfico ASP.NET hace unos días, y es absolutamente increíble en sus capacidades.

Here is the link.

EDIT: Esto es obviamente sólo si está utilizando ASP.NET. No estoy seguro acerca de WinForms.

+0

no incluiste el enlace – ChrisW

+0

Estaba allí antes de la edición, creo. – BobbyShaftoe

+0

Puede encontrar información en: 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 es una muy buena API de trazado 2D de código abierto simple. Lamentablemente, el sitio web está caído. No sé si esto es solo temporal o no. No he escuchado malas noticias. Puede volver a subir.

http://www.nplot.com

Aquí es un artículo que describe que:

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

El artículo anterior utiliza VB.NET, pero es evidente que esto va a funcionar con C#.

Una vez más, no estoy seguro de por qué el sitio de nplot no está funcionando actualmente, pero es una API de trazado algo popular que he usado en el pasado. Lo publico para su información y en caso del evento probable, nplot regresará pronto. :)

Editar:

Gracias a un Hosam Aly, parece que el proyecto SourceForge todavía puede accederse en:

http://sourceforge.net/projects/nplot

+0

Aún puede abrir la página del proyecto en SourceForge: http://sourceforge.net/projects/nplot –

8

ZedGraph es una buena opción.

+0

También he tenido éxito con ZedGraph para aplicaciones más pequeñas –

+0

ZedGraph es realmente bueno para aplicaciones más pequeñas. – dalle

+4

¿Soy yo o ZedGraph es feo? ¿Me estoy perdiendo las opciones que lo hacen verse bien? –

7

Ver Samples Environment for Microsoft Chart Controls:

El entorno de muestras para los controles Gráfico de Microsoft para .NET Framework contiene más de 200 muestras para tanto ASP.NET y Windows Forms. Las muestras cubren todas las características principales de Chart Controls para .NET Framework. Le permiten ver los controles de gráfico en acción, así como utilizar el código como plantillas para sus propias aplicaciones web y de Windows.

parece estar más orientada a los negocios, pero puede ser de algún valor para los estudiantes de ciencias y científicos.

+0

Asegúrese de consultar la pestaña doenloads para obtener el código de ejemplo –

-7

FWIW, es probable que desee mirar F# en lugar de C# en el contexto de la informática técnica porque F# está específicamente diseñado para ese fin. Sin embargo, desarrollé mi propia biblioteca de trazado comercial porque no estaba satisfecho con nada libremente disponible en .NET.

2

gnuplot es un programa activamente mantenido ampliamente utilizado en la comunidad científica.Normalmente, los gráficos se generan a partir de archivos de datos que puede escribir en su programa C#, pero también es posible llamar al ejecutable gnuplot desde C# y visualizar la imagen generada en un cuadro de imagen C#.

+1

¿Hay alguna biblioteca de trazado nativa para C# que sea similar a gnuplot? Tengo dudas sobre el uso de algo como esto cuando necesita llamar a otros procesos. – theGreenCabbage

38

Hay Oxyplot que recomiendo y también hay Live-Charts (ver actualización2).

Oxyplot tiene paquetes para WPF, Metro, Silverlight, Windows Forms, Avalonia UI, XWT. Además de los gráficos, puede exportar a Svg, Pdf, OpenXml, etc. E incluso admite Mono y Xamarin para Android e IOS. También se desarrolla activamente.

* Actualización * Se traslada a GitHub https://github.com/oxyplot/oxyplot

* Actualización 2 * También hay un nuevo código abierto (al menos para mí) el trazado de la biblioteca .Net llamado Live-Charts (github link)

Las parcelas son bastante interactivos La biblioteca admite WPF, WinForms y UWP. Xamarin está planeado. El diseño está hecho para patrones MV *.

1

Solo quería complementar la recomendación de OxyPlot de MajesticRa y señalar cómo se puede utilizar OxyPlot para una variedad de casos de trazado. El software es gratuito y de código abierto, muy pulido, y permite una variedad de usos en el mapeo 2D normal de Beyon.

He estado usando OxyPlot para un proyecto poco ortodoxo, donde visualizo (en WPF/C#) un mapa (cuadrícula de ocupación robótica) que pude superponer con LineSeries (Path Traveled) y PointSeries (Way Points). Al utilizar la función OxyPlot ImageAnnotation, puedo mostrar 60Hz Video dentro de mi OxyPlot, actualizando periódicamente la ImageAnnotation en su propio hilo, mientras mapeo una serie de puntos sobre el video. El video de fondo y los puntos son incluso escalables y traducibles.

Afortunadamente, esto es útil para otros que buscan mostrar tramas en exceso de imágenes y videos.