在我的项目中,值每1秒更新一次;基于这些值,我正在绘制条形图。发生的事情是它没有更新和绘制实时值。例如,如果是Value,(30,10)
则进行绘制。如果值是(30,45)
更新并绘制。如果值为(30,5)
Chart,则不会更新,也不会获得绘图。
请帮助我尝试做的事情,Chart1.Series["Series1"].Points.Clear();
但这不起作用,因为我的值每1秒钟更新一次。
似乎您需要为图表设置最小值和最大值,Axis-Y
或者,如果愿意,可以使轴自动重置其最小值和最大值。
如果您为Axis-Y设置了特定的最小值和最大值,则图表Axis-Y不会自动更改其值,并且当您向图表中添加新点时,Axis-Y值将不会更新,而只会更新这些点:
chart1.ChartAreas[0].AxisY.Minimum = 0;
chart1.ChartAreas[0].AxisY.Maximum = 200;
您还可以将图表设置为自动更改Aixs-Y的范围,这样Axis-Y会更新其最小值和最大值,并且图表Axiy-Y也会更改:
chart1.ResetAutoValues();
//Or this
//chart.ChartAreas[0].RecalculateAxesScale()
举个例子:
将aChart
和aTimer
放在表格上。将计时器的间隔设置为1000毫秒,并将其设置Enabled
为true
。处理Load
形式的Tick
事件和计时器的事件并编写以下代码:
private void From1_Load(object sender, EventArgs e)
{
chart1.Series.Clear();
chart1.Series.Add("Serie1");
chart1.ChartAreas[0].AxisY.Minimum = 0;
chart1.ChartAreas[0].AxisY.Maximum = 200;
}
private void timer1_Tick(object sender, EventArgs e)
{
int y = new Random().Next(0, 200);
chart1.Series[0].Points.Clear();
chart1.Series[0].Points.AddXY(30, y);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句