Я хочу сделать график в реальном времени, чтобы построить диаграмму входящих сигналов.Поскольку я хочу отображать только несколько новейших данных, я подумал об использовании очереди и связал ее с серией.Однако, когда я обновляю свою очередь, диаграмма не обновляется, и я не знаю почему.
Вот упрощенная версия моего кода (она должна «сдвигать» очередь и обновлять диаграмму для каждогонажмите):
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace PlotShiftExample
{
public partial class Form1 : Form
{
Queue<double> dataSeries1;
int xWindowSize = 5;
double counter = 0;
public Form1()
{
InitializeComponent();
dataSeries1 = new Queue<double>();
chart1.Series.Clear();
Series series1 = new Series
{
Name = "Series1",
Color = System.Drawing.Color.DarkRed,
IsVisibleInLegend = false,
IsXValueIndexed = true,
ChartType = SeriesChartType.Spline
};
chart1.Series.Add(series1);
chart1.Series["Series1"].Points.DataBindY(dataSeries1);
}
private void button1_Click(object sender, EventArgs e)
{
dataSeries1.Enqueue(counter++);
if (dataSeries1.Count > xWindowSize)
dataSeries1.Dequeue();
chart1.DataBind();
}
}
}
Есть идеи, в чем может быть проблема?
Заранее спасибо!