[英]Mschart - Bar Chart Not Updating in C#
在我的項目中,值每1秒更新一次; 基於這些值,我正在繪制條形圖。 發生的事情不是更新和繪制實時值。 例如,如果Value為(30,10)
則會進行繪制。 如果值為(30,45)
則會更新並繪制。 如果值為(30,5)
圖表不會更新,也不會獲得圖表。
請幫我嘗試過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()
舉個例子:
將Chart
和Timer
放在窗體上。 將Timer的間隔設置為1000 ms,並將其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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.