Mschart-条形图未在C#中更新

德赛党

在我的项目中,值每1秒更新一次;基于这些值,我正在绘制条形图。发生的事情是它没有更新和绘制实时值。例如,如果是Value,(30,10)则进行绘制。如果值是(30,45)更新并绘制。如果值为(30,5)Chart,则不会更新,也不会获得绘图。

请帮助我尝试做的事情,Chart1.Series["Series1"].Points.Clear();但这不起作用,因为我的值每1秒钟更新一次。

雷扎·阿盖伊(Reza Aghaei)

似乎您需要为图表设置最小值和最大值,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毫秒,并将其设置Enabledtrue处理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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章