ProjectsForTest/WinForm.NET5TeeChart-NET-Pro-Samples/Series/Line_Interpolate.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace Steema.TeeChart.Samples
{
public class Line_Interpolate : Steema.TeeChart.Samples.BaseForm
{
private Steema.TeeChart.Styles.Line line1;
private Steema.TeeChart.Styles.Line line2;
private Steema.TeeChart.Styles.Line line3;
private Steema.TeeChart.Tools.CursorTool cursorTool1;
private System.Windows.Forms.CheckBox checkBox1;
private System.ComponentModel.IContainer components = null;
private Steema.TeeChart.Tools.GridBand gridBand1;
private double xval;
/// <summary>
/// Calculate y=y(x) for arbitrary x. Works fine only for line series with ordered x values.
/// </summary>
/// <param name="series"></param>
/// <param name="firstindex"></param>
/// <param name="lastindex"></param>
/// <param name="xvalue"></param>
/// <returns>y=y(xvalue) where xvalue is arbitrary x value.</returns>
private double InterpolateLineSeries(TeeChart.Styles.Custom series, int firstindex, int lastindex, double xvalue)
{
int index;
for (index=firstindex; index<=lastindex; index++)
{
if (index == -1 || series.XValues.Value[index]>xvalue) break;
}
// safeguard
if (index<1) index = 1;
else if (index>=series.Count) index = series.Count -1;
// y=(y2-y1)/(x2-x1)*(x-x1)+y1
double dx = series.XValues[index] - series.XValues[index-1];
double dy = series.YValues[index] - series.YValues[index-1];
if (dx!=0.0) return dy*(xvalue - series.XValues[index-1])/dx + series.YValues[index-1];
else return 0.0;
}
private double InterpolateLineSeries(TeeChart.Styles.Custom series,double xvalue)
{
return InterpolateLineSeries(series,series.FirstVisibleIndex,series.LastVisibleIndex,xvalue);
}
public Line_Interpolate()
{
// This call is required by the Windows Form Designer.
InitializeComponent();
foreach (TeeChart.Styles.Series s in tChart1.Series)
s.FillSampleValues(20);
}
/// <summary>
/// Clean up any resources being used.
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。