2011-02-23 27 views
0

我有一個MSCHart控件在我的windows窗體中,用C#編碼。我有一組數據來填充圖表。我需要做這些如下:MSChart控件

  1. 使圖表顯示,以10秒的幀,基本上我的數據會總量可達約15分鐘或更長時間,但我希望我的圖表上顯示的X軸10秒量表。

  2. 我需要在我的圖表底部實現一個滾動條,以便我可以點擊此按鈕向我顯示下一個10秒的框架。這將開始顯示第一個10秒幀,然後下一個,像(10 - 20,20 - 30等)

  3. 在每10秒幀我需要從我的數組中繪製170個數據項。然後在下一個10秒幀中顯示接下來的170個數據項,並且這會持續到最後。

這裏是我所做過到目前爲止

#region SetupChart() 
    public bool SetupChart() 
    { 
     try 
     { 
      this.view.chart.ChartAreas[0].AxisX.ScaleView.Size = 10; 
      return true; 
     } 
     catch { return false; } 

    } 
    #endregion 

    #region Draw() 
    public bool Draw() 
    { 
     try 
     { 
      view.Data = this.dllCall.GetData(1); 

      int startSecond = 0; 
      foreach (Int16 item in view.Data) 
      { 

       //this.view.chart.Series["MySeries"].Points.AddXY(startSecond, item); 

        this.view.chart.Series["MySeries"].Points.Add(item); 
     startSecond++; 

      } 
      return true; 
     } 
     catch (Exception ex) 
     { 
      this.ErrorMessage = ex.Message; 
      return false; 
     } 
    } 

回答

0

這是前一段時間,因爲我有這個圖表工作了snipplet。但是圖表可以縮放和填充。所以我會把整個數據放到圖表中,然後放大到10秒的幀,最後放到我需要的位置。

縮放通常會自動爲您提供滾動條。因此,無需爲此功能對自己做任何事情。

+0

聽起來不錯嘗試,但你知道我怎樣才能將170個樣本形成我的數組到每個10秒幀? – 2011-02-23 11:52:52

+0

要在圖表中顯示某個點,通常需要兩個座標(x,y)。 Y是價值。爲了讓X簡單地將10除以170,你就得到了步長。不要將樣本x1放在stepSize * 1,x2放在stepSize * 2等。 – Oliver 2011-02-23 12:30:50

+0

嘿,我輸入了錯誤的電子郵件地址後,我不得不重新發布這個問題,但是您能否爲您的方法提供代碼。 – ThinkpadFreak 2011-02-23 19:29:45