2017-01-12 79 views
0

我的程序連接到以json格式發送圖表更新的服務器。圖表從第一點到最後點繪製線條

連接建立後第一個接收更新包含圖表的所有可用的點,就像這樣:

{"data":[[1484224017,3000],[1484224077,3020],...]} 

每60秒收到第一次更新後,服務器會發送一個新的數據點。的JSON-消息的格式是相同的,唯一的,它包含一個單一的值:

{"data":[[1484225012,3018]]} 

的數據被添加到圖表這樣的:

foreach (var entry in json["data"]) 
{ 
    this.chart1.Series[0].Points.AddXY(this.ConvertFromUnixTimestamp(entry[0].ToObject<double>()), entry[1].ToObject<double>()); 
} 

this.chart1.Refresh(); 

第一更新後,該圖表看起來不錯:

enter image description here

然而,在收到第一次更新後,圖表繪製從第一個點線到最後,新增點:

enter image description here

這究竟是爲什麼以及如何解決呢?

+0

@jstreet它被清除,只有單點被添加。 – Bobface

+0

@jstreet嗯,我很確定我清除了它。稍後我會看看它並報告回來! – Bobface

+0

從外觀看來,新點的x值與第一個點相同。您的示例數據不包含真實數據嗎? – TaW

回答

0

我有同樣的問題。我有一個動態重新創建系列的圖表。點是由Points.AddXY()方法添加的。我的解決方案是在重新創建系列之前清除所有系列點。 類似的東西:

foreach (Series seriesItem in chartObject.Series) 
{ 
    seriesItem.Points.Clear(); 
} 

chartObjectDynamic.Series.Clear(); 
相關問題