0
我想使用Winform和Devexpress庫建立一個遙測軟件。具體來說,我正在處理折線圖控制,我想要做的就是配置圖表,以便它能夠實時顯示數據更改。Devexpress:如何在運行時爲圖表控件添加點?
該圖是通過讀取一些以每秒10個值的速率發送信息的外部傳感器生成的。
這是我的代碼用於初始化圖:
series1 = new Series("test test", ViewType.Line);
chartControl1.Series.Add(series1);
series1.ArgumentScaleType = ScaleType.Numerical;
((LineSeriesView)series1.View).LineMarkerOptions.Kind = MarkerKind.Triangle;
((LineSeriesView)series1.View).LineStyle.DashStyle = DashStyle.Dash;
((XYDiagram)chartControl1.Diagram).EnableAxisXZooming = true;
chartControl1.Legend.Visibility = DefaultBoolean.False;
chartControl1.Titles.Add(new ChartTitle());
chartControl1.Titles[0].Text = "A Line Chart";
chartControl1.Dock = DockStyle.Fill;
這是添加一個新的點之一,並拔下第一點可用,以便點在我的圖表量始終是相同的(達到最少量的點數後),它會自行更新,顯示最後X秒的值並丟棄舊值。
series1.Points.RemoveRange(0, 1);
series1.Points.Add(new SeriesPoint(time, value));
...
AxisXRange.SetMinMaxValues(newFirstTime, time);
AxisRange如下
Range AxisXRange
{
get
{
SwiftPlotDiagram diagram = chartControl1.Diagram as SwiftPlotDiagram;
if (diagram != null)
return diagram.AxisX.VisualRange;
return null;
}
}
**的**的問題是,這個代碼的工作暫時。幾秒鐘後,圖表停止工作,並在其上顯示一個大紅十字。
有沒有我失蹤的配置? 你知道更好的方式來實現我的任務嗎?
任何幫助,將不勝感激。
謝謝
在WinForms中,如果在繪製控件時引發了未引發的異常,控件將顯示紅色十字。在Visual Studio中,您可以[配置選項](https://msdn.microsoft.com/en-us/library/x85tt0dd.aspx),以便調試器將始終停止在unhands異常處。這將幫助您確定問題的原因。 – Uranus
感謝提示 – VeVeVez
@Uranus感謝您的提示我發現了一個問題,但現在我在想:這是實施圖表的正確方法嗎?你有沒有嘗試過這樣的事情?我認爲它在20秒的數據後有一些性能問題。謝謝你的幫助 – VeVeVez