【问题标题】:Refresh and Clear Oxyplot Model刷新和清除 Oxyplot 模型
【发布时间】:2019-06-15 01:17:17
【问题描述】:

我正在创建一个程序,它使用oxyplotbtnCalculate_Click 之后创建一个绘图。我该怎么做才能在更改文本框值并单击 btnCalculate 时刷新绘图?我也有btnPrint,点击它应该清除情节?

public void btnCalculate_Click(object sender, EventArgs e)
{

    Pko = float.Parse(textBox5.Text);

    //Plotting Using Oxyplots
    OxyPlot.WindowsForms.PlotView pv = new PlotView();
    pv.Location = new Point(650, 0);
    pv.Size = new Size(900, 815);
    this.Controls.Add(pv);

    pv.Model = new PlotModel { Title = "Program" };
    pv.Model.InvalidatePlot(true);   

    //Pko line from surface to depth
    LineSeries Pkoline = new LineSeries();
    Pkoline.Color = OxyColors.Black;
    Pkoline.LineStyle = LineStyle.Solid;
    Pkoline.StrokeThickness = 1;
    Pkoline.Points.Add(new DataPoint(Pko, 0));
    Pkoline.Points.Add(new DataPoint(100, 200));
    pv.Model.Series.Add()
}


private void btnClear_Click(object sender, EventArgs e)
{

}

【问题讨论】:

  • 欢迎来到 SO,我不明白你的问题的表述。你想知道如何清除情节?
  • 是的。如果我点击清除按钮 (btnClear) 它应该清除情节。
  • 我发布了答案,如果有问题请告诉我

标签: c# oxyplot


【解决方案1】:

首先,您需要为 plot 定义变量,以便在不同的事件处理程序中调用它。通关剧情就是通关系列合集

private readonly PlotView _pv;


public Form1()
{
    InitializeComponent();
//moved initialization from btnCalculate_Click
    _pv = new PlotView();
    this.Controls.Add(_pv);
    _pv.Location = new Point(0, 0);
    _pv.Size = new Size(500, 500);
    _pv.Model = new PlotModel {Title = "Program"};
    _pv.Model.InvalidatePlot(true);
}

private void btnCalculate_Click(object sender, EventArgs e)
{
    // keep old code Except _pv initialization   

    _pv.Model.Series.Add(Pkoline);//typo in old code
}

private void clearBtn_Click(object sender, EventArgs e)
{
    _pv.Model.InvalidatePlot(true);
    _pv.Model.Series.Clear();        
}

【讨论】:

  • 感谢您的反馈。但是,除了单击 btnCalculate 时的标题和单击 ClearBtn 后我只能看到绘图轴之外,该图是空白的。
  • 谢谢普里比娜。我想通了!!此代码紧跟在 btnCalculate 之后。 _pv.Model.InvalidatePlot(true); _pv.Model.Series.Clear();
  • _pv.Model.InvalidatePlot(true); 将导致刷新(重绘)绘图,_pv.Model.Series.Clear(); 将清除绘图中显示的数据(是的轴保持不变),如果它解决了您的问题,请考虑接受它作为解决方案
  • 是的,它解决了我的问题。现在,每次我更改任何文本框值并单击 btnCalculate 时,它​​都必须使用新参数重新绘制。
猜你喜欢
  • 1970-01-01
  • 2016-05-27
  • 2022-11-10
  • 2019-02-11
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
相关资源
最近更新 更多