图表从第一点到最后一点绘制线条

时间:2017-01-12 12:53:06

标签: c# charts

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

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

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

收到第一次更新后,服务器将每60秒发送一个新的数据点。 json-message的格式是相同的,只是它包含一个值:

{"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

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

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我有一个动态重建系列的图表。点数由Points.AddXY()方法添加。我的解决方案是在重新创建系列之前清除所有系列点。 这样的事情:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="cart-select">
    <ul class="list">
      <li></li>
      <li></li>
      <li></li>
      <li class="cart-items">
        <table>
          <tr></tr>
          <tr></tr>
        </table>
      </li>
    </ul>
  </li>
  <li class="cart-select">
    <ul class="list">
      <li></li>
      <li></li>
      <li></li>
      <li class="cart-items">
        <table>
          <tr></tr>
          <tr></tr>
        </table>
      </li>
    </ul>
  </li>
</ul>