2011-05-29 41 views
4

我有100000個x/y點(高度超過距離)圖表,高度爲400px,寬度爲600px。如何在小圖上用很多點繪製圖表

如何創建一個「估計」曲線,使100 000個點看起來像一個圖,而不是很多成串的線?

是否有一個圖表控件,可以爲我做縮放?

+0

是的,這是爲大量數據設計的控件:http://dynamicdatadisplay.codeplex.com/wikipage?title=DynamicDataDisplay%20Silverlight&referringTitle=Home。你也可以看看其他免費版本的圖表,比如visiblox。 – vorrtex 2011-05-30 22:47:41

回答

0

我通過將數據沿着x軸劃分爲像素段(在您的案例400中)做過一次。我會在每個集合中找到最大值和最小值,並在該x點繪製垂直線。這很簡單,你會驚訝於結果。 只有在繪圖區域內有更多數據點時纔可以使用。無論如何,那是您需要優化的時候。

例如,在x偏移量233內,您有以下數據點。

(1000202,40) (1000203,43) (1000204,47) (1000205,43) (1000206,38) (1000208,35)

這將導致在一個單一的垂直從點(233,35)吸引到(233,47)

0

我不知道,如果你發現了一個回答你的問題,但我開發了不輸入數據(所以你只渲染的奈奎斯特採樣控制線你可以看到)和立​​即模式渲染(所以你獲得最佳性能)。其結果是,它可以在30FPS下平滑地渲染100,000 xy點。

由Tormod提出的答案將工作折線圖 - 將輸入數據到垃圾箱,尋找最小/最大,然後繪製的,但是你需要更先進的技術與其他圖表類型。你會看到另一個效果是別名。爲了解決這個問題,你可以a。)重新採樣到更多的bin(例如2x pixelWidth,4x pixelWidth),b。)在繪圖時使用抗鋸齒或c。)使用重採樣算法,在下采樣之前對數據進行低通濾波。這些技術在數字信號處理中很常見,適用於2D繪圖。

相關問題