是否有可靠,免费的方法用C#创建出版品质的2D图?并且能够保存为多种格式(png,eps,...)。类似于Python的matplotlib?
答案 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)
答案 4 :(得分:2)
gnuplot是一项在科学界广泛使用的积极维护计划。通常,图表是从您可以在C#程序中写出的数据文件生成的,但也可以从C#调用gnuplot可执行文件,并在C#图片框中显示生成的图像。
答案 5 :(得分:0)
NPlot是一个非常好的简单开源2D绘图API。不幸的是,该网站已关闭。我不知道这是不是暂时的。我没有听说过任何坏消息。它可能会重新出现。
这是一篇描述它的文章:
http://aspnet.4guysfromrolla.com/articles/072507-1.aspx
前一篇文章使用VB.NET,但显然这适用于C#。
同样,不确定为什么nplot的网站目前无法运行,但它是我过去使用的一种有点流行的绘图API。我发布它是为了您的信息,如果可能发生的事件,nplot将很快恢复。 :)
编辑:
感谢Hosam Aly,看起来仍然可以在这里访问SourceForge项目:
答案 6 :(得分:-6)