文章目录
安装和准备初步使用简单的设置
安装和准备
ScottPlot是基于.Net的一款开源免费的交互式可视化库,支持Winform和WPF等UI框架,本文示例在WPF环境中运行。在VS的菜单栏->工具->NuGet包管理器->管理解决方案的NuGet程序包->在浏览选项卡的搜索框里输入ScottPlot,找到ScottPlot.WPF,然后安装。
为了演示ScottPlot.WPF的基本功能,做如下布局,其中WrapPanel用于防止控制按钮,名为ScottPlot的集装箱用于防止ScottPlot的绘图组件
其中,TabStripPlacement属性指定选项卡选项卡条位置为左侧。TabItem是TabControl中的一个选项卡,Header属性指定了选项卡标题为“科学绘图”。DockPanel是一个布局控件,LastChildFill属性指定了最后一个子元素(即GroupBox)填充剩余空间。WrapPanel是另一个布局控件,DockPanel.Dock属性指定了它位于DockPanel的右侧。GroupBox是一个带有标题和边框的容器控件,Header属性指定了它的标题为“ScottPlot”。
初步使用
为了使用ScottPlot,首先在xaml的Window标签中,添加
xmlns:ScottPlot="clr-namespace:ScottPlot;assembly=ScottPlot.WPF"
在GroupPanel中添加
然后在WrapPanel中添加一个按钮,其点击事件的内容为
private void btnSin_Click(object sender, RoutedEventArgs e)
{
var xs = Enumerable.Range(0, 1000)
.Select(x => x / 100.0).ToArray();
var ys = xs.Select(x => Math.Sin(x)).ToArray();
plt.Plot.AddScatter(xs, ys);
plt.Refresh();
}
其中,
x
s
xs
xs是从
0
0
0到
10
10
10均等间隔的
1000
1000
1000个数,
y
=
sin
x
y=\sin x
y=sinx。
则点击按钮之后,执行plt.Plot.AddScatter命令,并调用Refresh刷新图形,可以得到
鼠标点击之后可以拖动,触摸板双指放大,双击之后会显示渲染时长。此外,右键菜单提供了保存图像、复制图像、缩放到合适尺寸,以及在新窗口打开等功能。
简单的设置
新建一组输入框和按钮,按钮的点击事件如下,当点击按钮时,可将图像的标题、X与Y轴的内容设置为输入框中的文本
private void btnSet_Click(object sender, RoutedEventArgs e)
{
plt.Plot.Title(tbTitle.Text);
plt.Plot.XLabel(tbAxisX.Text);
plt.Plot.YLabel(tbAxisY.Text);
}
效果如下
精彩文章
发表评论