用C#绘图

时间:2009-02-15 05:28:18

标签: c# plot scientific-computing

C#似乎显示了科学计算的一些希望,但我发现很少关于绘制二维图形,这对科学学生和科学家来说都非常重要。

是否有可靠,免费的方法用C#创建出版品质的2D图?并且能够保存为多种格式(png,eps,...)。类似于Python的matplotlib?

7 个答案:

答案 0 :(得分:46)

我推荐Oxyplot,还有Live-Charts(请参阅update2)。

Oxyplot包含WPF,Metro,Silverlight,Windows Forms,Avalonia UI,XWT的软件包。除了图形,它可以导出到Svg,Pdf,OpenXml等。它甚至支持Android和IOS的Mono和Xamarin。它也在积极发展。

*更新* 搬到了GitHub https://github.com/oxyplot/oxyplot

*更新2 * 还有一个新的(至少对我而言)开源.Net绘图库名为Live-Charts (github link)

这些情节非常具有互动性。图书馆支持WPF,WinForms和UWP。 Xamarin计划好了。设计是针对MV *模式的。

*更新3 * @PawełAudionysos建议没有如此出色的Live-Charts WPF表现

答案 1 :(得分:9)

ZedGraph是个不错的选择。

答案 2 :(得分:8)

请参阅Samples Environment for Microsoft Chart Controls

  

适用于.NET Framework的Microsoft图表控件的示例环境包含200多个 ASP.NET和Windows窗体的示例。这些示例涵盖了.NET Framework图表控件中的所有主要功能。它们使您能够看到Chart控件的运行情况,并将代码用作您自己的Web和Windows应用程序的模板。

似乎更注重商业化,但可能对科学学生和科学家有一定的价值。

答案 3 :(得分:2)

几天前我开始使用新的ASP.NET Chart控件,它的功能绝对令人惊叹。

Here is the link.

编辑:显然只有在使用ASP.NET时才会这样。不确定WinForms。

答案 4 :(得分:2)

gnuplot是一项在科学界广泛使用的积极维护计划。通常,图表是从您可以在C#程序中写出的数据文件生成的,但也可以从C#调用gnuplot可执行文件,并在C#图片框中显示生成的图像。

答案 5 :(得分:0)

NPlot是一个非常好的简单开源2D绘图API。不幸的是,该网站已关闭。我不知道这是不是暂时的。我没有听说过任何坏消息。它可能会重新出现。

http://www.nplot.com

这是一篇描述它的文章:

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

前一篇文章使用VB.NET,但显然这适用于C#。

同样,不确定为什么nplot的网站目前无法运行,但它是我过去使用的一种有点流行的绘图API。我发布它是为了您的信息,如果可能发生的事件,nplot将很快恢复。 :)

编辑:

感谢Hosam Aly,看起来仍然可以在这里访问SourceForge项目:

http://sourceforge.net/projects/nplot

答案 6 :(得分:-6)

FWIW,您可能希望在技术计算环境中查看F#而不是C#,因为F#是专为此目的而设计的。但是,我开发了自己的商业绘图库,因为我对.NET上免费提供的任何东西都不满意。