ScottPlot.WPF快速使用

步骤1:安装 ScottPlot.WPF NuGet 包

步骤2:将此添加到 XAML 文件的根元素中:

xmlns:ScottPlot="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF"

步骤3:将 a 添加到布局中并为其指定唯一名称WpfPlot

<ScottPlot:WpfPlot x:Name="WpfPlot1" />

步骤4:在启动序列中绘制一些数据

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

.NET Framework 应用程序

面向 .NET Framework 的项目应在事件内设置其绘图,而不是直接在构造函数中设置。Loaded

public MainWindow()
{
    InitializeComponent();

    Loaded += (s, e) =>
    {
        double[] dataX = { 1, 2, 3, 4, 5 };
        double[] dataY = { 1, 4, 9, 16, 25 };
        WpfPlot1.Plot.Add.Scatter(dataX, dataY);
        WpfPlot1.Refresh();
    };
}

使用 MVVM 绘图

WPF 应用程序可以使用 MVVM (Model-view-viewmodel) 模式创建,以改善 GUI 层和业务逻辑之间的分离。

  • 访问对象的所有代码都可以保存在视图模型中 - 该类设置为WpfPlotDataContext

  • 使具体实现适应框架(例如,使用属性来定义PlotControl)

MVVM 示例

视图:在布局中添加 a 而不是ContentControlWpfPlot

    <ContentControl Content="{Binding PlotControl, Mode=OneTime}"/>

视图模型:添加属性PlotControl

    WpfPlot PlotControl { get; } = new WpfPlot();

代码隐藏:在视图模型的构造函数中设置绘图

void Plot()
{
    double[] dataX = { 1, 2, 3, 4, 5 };
    double[] dataY = { 1, 4, 9, 16, 25 };
    PlotControl.Plot.Add.Scatter(dataX, dataY);
    PlotControl.Refresh();
}

更新绘图:

  • 使用视图模型中的属性访问控件PlotControl

  • 绘图更新很可能是对事件的反应或对其他属性的修改。

  • 何时更新绘图取决于您的用例。请注意,频繁呈现大量数据可能会对性能产生负面影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code_shenbing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值