翻譯|使用教程|編輯:楊鵬連|2021-07-02 11:52:44.573|閱讀 204 次
概述:本文主要介紹了高性能圖表控件LightningChart關于顯示頻譜圖的過去數據的問題解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LightningChart.NET完全由GPU加速,并且性能經過優化,可用于實時顯示海量數據——超過10億個數據點。LightningChart包括廣泛的2D、高級3D、Polar、Smith、3D餅/甜甜圈、地理地圖和GIS圖表以及適用于科學、工程、醫學、航空、貿易、能源和其他領域的體位功能。
LightningChart.NET重加入在線訂購,SignalTools,12個月,WPF版本原價405元,現價3499元,現在搶購立享優惠!立即購買>>
點擊下載LightningChart.NET最新試用版 LightningChart JS最新試用版
Q:顯示頻譜圖的過去數據
首先,我為我糟糕的英語感到抱歉。
我正在為 Spectrogram 開發軟件。
正在通過參考演示應用程序的高分辨率頻譜圖進行實施。
此演示應用程序中的示例代碼表明您正在使用 IntensityGridSeries 繪制光譜。
我想要開發的是讓用戶通過做一些事情(例如,使用鼠標滾輪等)來查看過去的數據。
下圖顯示了我目前正在實施的圖表。我只添加了暫停數據顯示的功能。演示應用程序的實現方式幾乎沒有區別。
在暫停數據的顯示之后,需要使用特定動作查看過去數據的功能。
我附上更多圖片以幫助您理解我的問題。
F:這應該可以做到,但可能有點棘手。問題是,由于技術原因,您不能擁有一個巨大的連續 IntensityGridSeries,您可以向后滾動。現在的標準 PC 使用 DirectX 11,最大紋理尺寸限制為 16384,可以防止這種情況。此外,dotNET 對數組大小有限制 - 每個數組 2GB(盡管通常可以通過設置 LargeAddressAware 標志來增加)。因此,您可能無法將所有當前和過去的數據點存儲在單個數組中。此外,性能可能會顯著下降。
一種方法是為過去的點設置一個單獨的數據數組。例如,您可以將稍后要查看的數據存儲在該數組中,然后通過將其分配為頻譜圖的數據來顯示它。
_spectrogram.SetColorsData(_colorsDataPastPoints, IntensityGridValuesDataOrder.RowsColumns);
_spectrogram.InvalidateColorsOnly();
您也可以以同樣的方式切換回主(當前)數據。
當然,您為過去的點創建的每個新數組都會增加應用程序使用的內存。因此,您應該仔細考慮需要多少個單獨的數組來存儲過去的數據點,因為例如,如果您的應用程序應該運行數小時,那么將所有過去的數據存儲在數組中很可能是不明智的。如果您只需要顯示前幾秒,這種方法應該可以正常工作。
如果有任何疑問,請以獲取更多信息。
如果您對該圖表控件感興趣,歡迎加入圖表控件QQ交流群:740060302
欲購買LightningChart正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: