缩放/滚动生命树图形,包含巨大且部分密集的数据

时间:2016-12-10 17:33:54

标签: algorithm canvas scroll graphics zoom

Image here ------------------- Tree of life

enter image description here

我有这种生命之树图形,可以缩放/滚动可视化二叉树,它有大约7000个节点。

每个节点都有距离值,因此其高度是固定的。并且确定,父节点的高度值始终高于子节点

由于距离是固定的,我上面发布的情况可能会发生。

蓝色区域包含1000多个节点,但每个节点之间的距离非常小(可视化时小于0.00001px)。

另一方面,面积比蓝色区域大得多的红色区域少于10个节点。

问题是,此图很难实现缩放/滚动操作。 为了详细可视化蓝色区域,至少我们应该使1个像素的画布等于0.00001px的实际数据,这意味着,缩放100000次。因此,当单个缩放动作进行+1缩放时,用户必须进行100000次此动作。这真的很痛苦。

所以我们不是+1变焦,而是采取一些合理的价值,比如+10000。 现在要很好地可视化蓝色区域,用户只需要执行10次缩放。

使用此解决方案时,如果在红色区域进行缩放怎么办?在缩放之后,用户希望在红色区域上看到一些节点,但突然用户看不到任何东西,因为缩放值太大了。

有人有个好主意吗? :)

0 个答案:

没有答案