我之前在学OpenCV 三语言开发的时候,遇到了一个问题,怎么可视化的显示数据。Python有matplotlib,那么C# 如何解决呢?顺便说一下,C++我已经放弃了,C++的代码,结果对了就行。
如果是Python调用,使用PythonNet调用Python的解释器,勉强能实现,但是就是没有代码提示。
PythonNet,Csharp如何白嫖Python生态和使用Matplotlib
这个我还是看知乎上面说的,感觉有道理,我就去试试了。
.NET 中能跑 Python 的 matplotlib 吗?
博客园 C#基于ScottPlot进行可视化
我又网上找了半天,找到了一个博客园的文章,上面写了如何可视化。
ScottPlot 官网
double[] dataX = { 1, 2, 3, 4, 5 };
double[] dataY = { 1, 4, 9, 16, 25 };
ScottPlot.Plot myPlot = new();
myPlot.Add.Scatter(dataX, dataY);
myPlot.SavePng("quickstart.png", 400, 300);
How to launch an interactive plot window from a console application #1465
既然是5.0的新版本,那我就修改一下代码好了。Api都变了
static void Main(string[] args)
{
double[] dataX = { 1, 2, 3, 4, 5 };
double[] dataY = { 1, 4, 9, 16, 25 };
ScottPlot.Plot myPlot = new();
myPlot.Add.Scatter(dataX, dataY);
ScottPlot.WinForms.FormsPlotViewer.Launch(myPlot, "测试");
Console.WriteLine("Hello, World!");
Console.ReadKey();
}
运行成功!
我感觉还是用.NET 原生的好,毕竟有代码提示