C# 图表从第一点到最后一点绘制直线

C# 图表从第一点到最后一点绘制直线,c#,charts,C#,Charts,我的程序连接到一个服务器,该服务器以json格式发送图表更新 建立连接后收到的第一个更新包含图表的所有可用点,如下所示: {"data":[[1484224017,3000],[1484224077,3020],...]} foreach (var entry in json["data"]) { this.chart1.Series[0].Points.AddXY(this.ConvertFromUnixTimestamp(entry[0].ToObject<double>

我的程序连接到一个服务器,该服务器以json格式发送图表更新

建立连接后收到的第一个更新包含图表的所有可用点,如下所示:

{"data":[[1484224017,3000],[1484224077,3020],...]}
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();
收到第一次更新后,服务器将每60秒发送一个新数据点。json消息的格式相同,只是它包含一个值:

{"data":[[1484225012,3018]]}
将数据添加到图表中,如下所示:

{"data":[[1484224017,3000],[1484224077,3020],...]}
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();
foreach(json[“数据”]中的var条目)
{
this.chart1.Series[0].Points.AddXY(this.ConvertFromUnixTimestamp(条目[0].ToObject()),条目[1].ToObject());
}
this.chart1.Refresh();
第一次更新后,图表看起来很好:

但是,在收到第一次更新后,图表将从第一个点到最后一个新添加的点绘制一条线:


为什么会发生这种情况?我如何解决它?

我也有同样的问题。我有一个动态重新创建的系列图表。点是通过Points.AddXY()方法添加的。我的解决方案是在重新创建序列之前清除所有序列点。 诸如此类:

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

chartObjectDynamic.Series.Clear();

@jstreet它被清除了,只添加了一个点。@jstreet嗯,我很确定我清除了它。我稍后会看一看,然后再报告!从外观上看,新点的x值似乎与第一个点的x值相同。你的示例数据没有,但是真实数据呢???@TaW我已经检查过了,它没有相同的X值。此外,如果我重新启动程序,图表将再次正确显示,直到下一次更新发生。