c# - C# 更新带有绑定到它的队列的绘图图表
问题描述
我想制作一个实时运行图表来绘制传入信号的图表。因为我只想显示一些最新的数据,所以我想到了使用队列并将其绑定到系列。但是,当我更新队列时,图表没有更新,我不知道为什么。
这是我的代码的简化版本(它应该“移动”队列并为每次点击刷新图表):
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();
}
}
}
知道可能是什么问题吗?
提前致谢!
解决方案
每次刻度事件时,您都应该使用计时器和绑定图表。
推荐阅读
- macos - 在 Mac 上使用 Putty 尝试 mkdir /root/.local/share 时的只读文件系统
- pytorch - 关于使用 PyTorch 编写 cnn 的问题
- javascript - try 块中的 return 语句是否等待 finally 块中的 await 语句?
- css - 对于 Angular 9 mat-tables,有没有办法在一个地方为一行设置 CSS 颜色?
- reactjs - 为什么在 then() 内部存在数据,而外部不存在 - Axios 返回未定义
- reactjs - 使用 KendoReact 以编程方式在字段上显示错误消息
- google-sheets - DataStudio Question with Google Sheets - 添加逗号,添加百分点
- c# - SSIS 脚本任务因 NewtonSoft.Json 而失败
- c# - 如何从内部重定向链接获取真实 URL
- android - 如何在 Oneplus 中收听 Boot Complete 广播?