Sorry, I do not speak English well.
Our company is located in the test before you buy LightningChart.
1. How to find y values? I have been using SampleDataSeries. Please refer to the find.zip file.
Code: Select all
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.cbType.SelectedIndex = 0;
CreateSampleData();
}
private void CreateSampleData()
{
ViewXY chartView = this.lightningChartUltimate1.ViewXY;
var series = this.lightningChartUltimate1.ViewXY.SampleDataSeries[0];
series.LineStyle.Color = Color.Blue;
series.SampleFormat = Arction.LightningChartUltimate.SampleFormat.SingleFloat;
series.SamplingFrequency = 10;
series.FirstSampleTimeStamp = 0;
int iPointCount = 501;
float[] aPoints = new float[iPointCount];
double dX = 0;
const double dXInterval = 0.1;
series.SamplingFrequency = 100;
series.FirstSampleTimeStamp = 0;
for (int iPoint = 0; iPoint < iPointCount; iPoint++)
{
dX = (double)iPoint * dXInterval;
aPoints[iPoint] = (int)(50.0 + 30.0 * Math.Sin(dX / 5.0) + 1.0 * Math.Sin(dX * 5.0) + 15.0 * Math.Cos(dX));
}
chartView.XAxes[0].SetRange(0, iPointCount / series.SamplingFrequency);
chartView.YAxes[0].SetRange(0, 100);
series.AddSamples(aPoints, true);
}
private void btnFind_Click(object sender, EventArgs e)
{
float value = Convert.ToSingle(tbValue.Text);
if (this.cbType.SelectedIndex == 0)
{
//Find X value
FInd(value, 0);
}
else
{
//Find Y value
FInd(float.NaN, value);
}
lightningChartUltimate1.Invalidate();
}
void FInd(float x , float y)
{
var series = this.lightningChartUltimate1.ViewXY.SampleDataSeries[0];
series.SeriesEventMarkers.Clear();
//Add event marker to the series
SeriesEventMarker marker = new SeriesEventMarker(series);
marker.Label.Visible = false;
marker.Symbol.Shape = Shape.Cross;
marker.Symbol.Angle = 45;
marker.Symbol.Width = 20;
marker.Symbol.Height = 20;
marker.Symbol.Color1 = Color.White;
marker.XValue = x;
marker.YValue = y;
marker.HorizontalPosition = SeriesEventMarkerHorizontalPosition.SnapToPoints;
marker.VerticalPosition = SeriesEventMarkerVerticalPosition.TrackSeries;
series.SeriesEventMarkers.Add(marker);
}
}
Thank you.