ScottPlot:功能强大且开源免费的C#绘图控件

概述

ScottPlot是可以用于交互显示大数据集合的一个免费开源的.NET绘图控件类库,只需要用几行代码,就可以画出各种曲线,条形图,饼图,散点图等等。

快速开始

在C#的各个开发框架下,ScottPlot的快速开始代码如下:

Windows Forms

Step 1: 安装ScottPlot.WinForms NuGet package

Step 2: 从工具箱拖拽出FormsPlot到Form窗体

Step 3: 绘制简单的曲线

double[] xs = { 1, 2, 3, 4, 5 };
double[] ys = { 1, 4, 9, 16, 25 };
var plt = new ScottPlot.Plot(400, 300);
plt.AddScatter(xs, ys);
plt.SaveFig("quickstart.png"); //将绘图保存为png图片

WPF

Step 1: 安装ScottPlot.WPF NuGet package

Step 2: 添加一个WpfPlot到layout并取一个名字

Step 3: 绘制简单的曲线

double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
WpfPlot1.Plot.AddScatter(dataX, dataY);
WpfPlot1.Refresh();

Avalonia

Step 1: 安装ScottPlot.Avalonia NuGet package. Linux & MacOS需要做以下操作:

Step 1.1: 安装libgdiplus

Linux: apt-get install -y libgdiplus
MacOS: brew install mono-libgdiplus

Step 1.2: 通过命令手动添加System.Drawing.Common包到工程中

dotnet add package System.Drawing.Common

Step 1.3: 根据微软的建议执行并编辑将 runtimeconfig.json 文件中的 System.Drawing.EnableUnixSupportSystem.Drawing.EnableUnixSupport设置为 true 来启用对 .NET 6 中非 Windows 平台的支持:

{
   "configProperties": {
      "System.Drawing.EnableUnixSupport": true
   }
}

Step 2: 导入ScottPlot.Avalonia命名空间:


        x:Class="ScottPlot.Demo.Avalonia.MainWindow"
        xmlns:ScottPlot="clr-namespace:ScottPlot.Avalonia;assembly=ScottPlot.Avalonia"
        Title="Avalonia Quickstart" Width="500" Height="350">

Step 3: 添加一个AvaPlot到layout并起一个名字

Step 4: 绘制简单的曲线

double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
AvaPlot avaPlot1 = this.Find("AvaPlot1");
avaPlot1.Plot.AddScatter(dataX, dataY);
avaPlot1.Refresh();

控制台应用程序

在C#的控制台程序中,使用ScottPlot可以有两种方法绘图:一是通过保存图片的方式,前文已经讲解如何使用几行代码将绘制的曲线保存为图片,这里就不再介绍;二是通过弹出交互的窗口来绘制和显示。

Step1:安装ScottPlot.WinForms

Step2:创建一个绘图(和前文一样)

Step3:用创建的Plot初始化一个PlotViewer并显示,代码如下:

double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
var plt = new ScottPlot.Plot(400, 300);
plt.AddScatter(dataX, dataY);
new ScottPlot.FormsPlotViewer(plt).ShowDialog();

Cookbook和Demo

ScottPlot Cookbook

ScottPlot Cookbook演示了如何使用几行代码创建折线图、条形图、饼图、散点图等。

链接如下:https://scottplot.net/cookbook

Demo

ScottPlot Demo是将很多示例代码都集合在一个可以直接点击并执行的应用程序中,每个样例都展示了一种绘图的代码。主要包括下图所示的相关图形的案例。

下载链接:https://scottplot.net/demo/

运行界面如下图:

云端绘制

ScottPlot不需要GUI,因此可以用于在云应用程序中创建绘图。下面的图像是使用Azure函数每小时重新生成的,以更新GitHub API中的star指标,并从NuGet API下载计数。数据用ScottPlot绘制,并保存为blob存储器中的图像文件。

展开阅读全文

页面更新:2024-02-27

标签:前文   中非   控制台   控件   功能强大   应用程序   曲线   名字   快速   代码   简单   图片

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top