ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

高性能图表控件LightningChart关于显示频谱图的过去数据问题解答

2021-07-06 14:30:40  阅读:222  来源: 互联网

标签:控件 数据 过去 应用程序 问题解答 图表 数组 LightningChart


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
来源: https://blog.csdn.net/RoffeyYang/article/details/118519517

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有