elektronik67
Üye
- Katılım
- 20 Eyl 2006
- Mesajlar
- 440
- Puanları
- 1
- Yaş
- 40
Merhaba 3 serili bir tane real time chart yapmaya çalışıyorum. Ancak bana durmadan aşağıdaki hattayı veriyor. bu konuyu nasıl çözerim yardımlarınızı rica ederim.
Cannot display indexed series (XValueIndexed = true) on the same axis if they are not aligned.Series 'PET2' and Series 'CAN' must be aligned to perform the operation. The series currently have a different number of data points.
public Form1() {
lineChart.ChartAreas[0].AxisY.Title = "Bottle/Hour";
lineChart.ChartAreas[0].AxisY.TitleFont = new Font("Arial", 12.0f, FontStyle.Bold);
lineChart.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss" + ((char)160) + "\n";
lineChart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Minutes; // X ekseninde gösterilecek zamanı dakika cinsinden göster
lineChart.ChartAreas[0].AxisX.Interval = 1; // ÖNEMLİ - 1 dk da bir X ekseninde zamanı göster
lineChart.ChartAreas[0].AxisX.ScaleView.Size = 25;
lineChart.ChartAreas[0].AxisX.ScaleView.Position = lineChart.Series[0].Points.Count - 25;
lineChart.ChartAreas[0].AxisX.ScaleView.SizeType = DateTimeIntervalType.Number;
lineChart.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
lineChart.ChartAreas[0].CursorX.AutoScroll = true;
lineChart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = 15;
lineChart.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;
lineChart.Series[0].IsXValueIndexed = true;
lineChart.Series[0].XValueType = ChartValueType.Time;
lineChart.Series[1].IsXValueIndexed = true;
lineChart.Series[1].XValueType = ChartValueType.Time;
lineChart.Series[2].IsXValueIndexed = true;
lineChart.Series[2].XValueType = ChartValueType.Time;
}
private void lineChartValues()
{
while (true)
{
if (lineChart.IsHandleCreated)
{
Invoke((MethodInvoker)delegate { UpdatelineChartValue(); });
}
Thread.Sleep(1000); // da bir değer al grafiktte gösterilen değer bu 1000 = 1 sn'dir. dolayısıyla 1 dk için 10000 yapmak gerekiyor.
}
}
private void UpdatelineChartValue()
{
try
{
lineChart.Series["PET1"].Points.AddXY(DateTime.Now.ToOADate(), _Pet1Values.LineSpeed);
lineChart.Series["PET2"].Points.AddXY(DateTime.Now.ToOADate(), _Pet2Values.LineSpeed);
lineChart.Series["CAN"].Points.AddXY(DateTime.Now.ToOADate(), _CanValues.LineSpeed);
//lineChart.DataManipulator.InsertEmptyPoints(1, IntervalType.Number, "PET1, PET2, CAN");
maksimum++;
lineChart.ChartAreas[0].AxisX.ScaleView.Zoom(maksimum - 25, maksimum); // ÖNEMLİ
Update();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
Cannot display indexed series (XValueIndexed = true) on the same axis if they are not aligned.Series 'PET2' and Series 'CAN' must be aligned to perform the operation. The series currently have a different number of data points.
public Form1() {
lineChart.ChartAreas[0].AxisY.Title = "Bottle/Hour";
lineChart.ChartAreas[0].AxisY.TitleFont = new Font("Arial", 12.0f, FontStyle.Bold);
lineChart.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss" + ((char)160) + "\n";
lineChart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Minutes; // X ekseninde gösterilecek zamanı dakika cinsinden göster
lineChart.ChartAreas[0].AxisX.Interval = 1; // ÖNEMLİ - 1 dk da bir X ekseninde zamanı göster
lineChart.ChartAreas[0].AxisX.ScaleView.Size = 25;
lineChart.ChartAreas[0].AxisX.ScaleView.Position = lineChart.Series[0].Points.Count - 25;
lineChart.ChartAreas[0].AxisX.ScaleView.SizeType = DateTimeIntervalType.Number;
lineChart.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
lineChart.ChartAreas[0].CursorX.AutoScroll = true;
lineChart.ChartAreas[0].AxisX.ScaleView.SmallScrollSize = 15;
lineChart.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;
lineChart.Series[0].IsXValueIndexed = true;
lineChart.Series[0].XValueType = ChartValueType.Time;
lineChart.Series[1].IsXValueIndexed = true;
lineChart.Series[1].XValueType = ChartValueType.Time;
lineChart.Series[2].IsXValueIndexed = true;
lineChart.Series[2].XValueType = ChartValueType.Time;
}
private void lineChartValues()
{
while (true)
{
if (lineChart.IsHandleCreated)
{
Invoke((MethodInvoker)delegate { UpdatelineChartValue(); });
}
Thread.Sleep(1000); // da bir değer al grafiktte gösterilen değer bu 1000 = 1 sn'dir. dolayısıyla 1 dk için 10000 yapmak gerekiyor.
}
}
private void UpdatelineChartValue()
{
try
{
lineChart.Series["PET1"].Points.AddXY(DateTime.Now.ToOADate(), _Pet1Values.LineSpeed);
lineChart.Series["PET2"].Points.AddXY(DateTime.Now.ToOADate(), _Pet2Values.LineSpeed);
lineChart.Series["CAN"].Points.AddXY(DateTime.Now.ToOADate(), _CanValues.LineSpeed);
//lineChart.DataManipulator.InsertEmptyPoints(1, IntervalType.Number, "PET1, PET2, CAN");
maksimum++;
lineChart.ChartAreas[0].AxisX.ScaleView.Zoom(maksimum - 25, maksimum); // ÖNEMLİ
Update();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}