ZedGraph 是否提供任何类型的细节级别剔除行为?
Does ZedGraph offer any kind of Level-of-Detail Culling behavior?
我已经搜索过,但找不到这个问题的答案。我可以自己写代码来做,但我不想重新发明轮子。 :)
由于 ZedGraph 使用 IPointList 及其索引器进行内部数据访问,您可以为其分配任何类型的数据结构,并动态更改 ZedGraph 在调用索引器时接收的数据。
这是一个智能架构,自然地,使用自定义 IPointList 实现详细级别系统是可行的,其中点数根据 GraphPane 的 xScale 和 yScale 剔除。
这样你可以加载数百万个点,但是当图表的缩放级别显示所有点时,它们可以被剔除,这样 ZedGraph 只绘制几千个。随着缩放倍率的增加,感兴趣区域中的点将被剔除。
我想知道 ZedGraph 是否已经提供了开箱即用的类似功能。我还没有看到任何支持它的迹象。
有人知道吗?
我在 Sourceforge 上发布了相关信息,但也没有得到任何回复。
然后我在 Github 上发了一个叉子并得到了回复。它在这里:
https://github.com/ZedGraph/ZedGraph/issues/13
答案:
有一种朴素的算法,通过简单地盲目跳过点来过滤点以达到目标显示数量。
当然,这种天真的方法可能会给人留下完全错误的印象,例如,当峰谷在折线图中被丢弃时,数据看起来是什么样子。恕我直言,这样的算法完全无法使用。
所以基本上,目前 ZedGraph 中没有可接受的内置剔除。
我已经搜索过,但找不到这个问题的答案。我可以自己写代码来做,但我不想重新发明轮子。 :)
由于 ZedGraph 使用 IPointList 及其索引器进行内部数据访问,您可以为其分配任何类型的数据结构,并动态更改 ZedGraph 在调用索引器时接收的数据。
这是一个智能架构,自然地,使用自定义 IPointList 实现详细级别系统是可行的,其中点数根据 GraphPane 的 xScale 和 yScale 剔除。
这样你可以加载数百万个点,但是当图表的缩放级别显示所有点时,它们可以被剔除,这样 ZedGraph 只绘制几千个。随着缩放倍率的增加,感兴趣区域中的点将被剔除。
我想知道 ZedGraph 是否已经提供了开箱即用的类似功能。我还没有看到任何支持它的迹象。
有人知道吗?
我在 Sourceforge 上发布了相关信息,但也没有得到任何回复。
然后我在 Github 上发了一个叉子并得到了回复。它在这里: https://github.com/ZedGraph/ZedGraph/issues/13
答案: 有一种朴素的算法,通过简单地盲目跳过点来过滤点以达到目标显示数量。
当然,这种天真的方法可能会给人留下完全错误的印象,例如,当峰谷在折线图中被丢弃时,数据看起来是什么样子。恕我直言,这样的算法完全无法使用。
所以基本上,目前 ZedGraph 中没有可接受的内置剔除。