网页上的层次结构表示
Hierarchical structure representation on a WebPage
我正在进行一些研究,主题是找到一种在简单网页上表示层次结构的正确方法。
精度:这是一个巨大的数据量。
让我们先进行一些语境化:
假设您有一家由多个部门组成的公司...
常用的是:
树结构:
但我不喜欢它,因为如果你有大量数据,如果你正在寻找多个对象,展开和折叠可能会很棘手...
另外 2 种可能带来一些灵活性的方法:
圈子模式:
和节点模式:
我认为可以帮助最终用户的一个功能是 Elastic Search 栏,但这里的目标是为用户在结构中导航提供一些灵活性。
我想使用 JSF,但技术在这里并不重要,它只是一个概念阶段。
请分享您的意见、想法、足迹...?
听起来您正在寻找树图算法。让我做一个简短的概述:
在图形绘制中,基本上可以通过三组属性来描述一张图:
您的绘图约定,即节点和边在您的可视化中表示。可能的选择是:
- 将您的节点表示为 点 ,将您的边表示为它们之间不相交的 曲线 。
这可能是专门的,例如要求将点放置在规则网格上,根周围的同心圆或类似的东西上。此外,您可以要求边缘为直线、圆弧、...
这可能是您在谈论树可视化时首先想到的。
- 将您的节点表示为 矩形 ,通过嵌套矩形来隐式表示您的边缘。这通常称为 树状图
一些美学你想优化,即
- 最大化边之间的角度
- 最小化树的面积
- 如果您基于树构建物理模型,请最小化势能(参见维基百科:Force-directed graph drawing)
...
您还可以在节点或边上放置一些约束,例如将某些节点固定到一个位置,强制执行某些边长或类似的想法。
既然我已经解释了基础知识,让我列出一些方法:
- 正如您已经展示的那样,以基于圆形的方式绘制树,方法是将根放在中心,将子节点放在根周围的同心圆中,或者将节点的所有子树以圆形方式围绕它对齐。这些在 GraphViz 工具中实现为
circo
和 twopi
- 使用类似于树视图的 HV 布局 以主要坚持水平和垂直边缘,但允许在子树放置中有更多的自由度
- 使用许多按级别操作的直线绘图技术中的任何一种,即根位于顶部,其子级位于下一层,...
- 将您的树表示为类似于上例的树图。
大多数(如果不是全部)这些技术在 Tassima 等人的 图形绘制和可视化手册 的 Tree-drawing chapter 中进行了描述和可视化。其他
我正在进行一些研究,主题是找到一种在简单网页上表示层次结构的正确方法。 精度:这是一个巨大的数据量。
让我们先进行一些语境化: 假设您有一家由多个部门组成的公司...
常用的是:
树结构:
但我不喜欢它,因为如果你有大量数据,如果你正在寻找多个对象,展开和折叠可能会很棘手...
另外 2 种可能带来一些灵活性的方法:
圈子模式:
和节点模式:
我认为可以帮助最终用户的一个功能是 Elastic Search 栏,但这里的目标是为用户在结构中导航提供一些灵活性。
我想使用 JSF,但技术在这里并不重要,它只是一个概念阶段。
请分享您的意见、想法、足迹...?
听起来您正在寻找树图算法。让我做一个简短的概述:
在图形绘制中,基本上可以通过三组属性来描述一张图:
您的绘图约定,即节点和边在您的可视化中表示。可能的选择是:
- 将您的节点表示为 点 ,将您的边表示为它们之间不相交的 曲线 。
这可能是专门的,例如要求将点放置在规则网格上,根周围的同心圆或类似的东西上。此外,您可以要求边缘为直线、圆弧、...
这可能是您在谈论树可视化时首先想到的。 - 将您的节点表示为 矩形 ,通过嵌套矩形来隐式表示您的边缘。这通常称为 树状图
- 将您的节点表示为 点 ,将您的边表示为它们之间不相交的 曲线 。
一些美学你想优化,即
- 最大化边之间的角度
- 最小化树的面积
- 如果您基于树构建物理模型,请最小化势能(参见维基百科:Force-directed graph drawing)
...
您还可以在节点或边上放置一些约束,例如将某些节点固定到一个位置,强制执行某些边长或类似的想法。
既然我已经解释了基础知识,让我列出一些方法:
- 正如您已经展示的那样,以基于圆形的方式绘制树,方法是将根放在中心,将子节点放在根周围的同心圆中,或者将节点的所有子树以圆形方式围绕它对齐。这些在 GraphViz 工具中实现为
circo
和twopi
- 使用类似于树视图的 HV 布局 以主要坚持水平和垂直边缘,但允许在子树放置中有更多的自由度
- 使用许多按级别操作的直线绘图技术中的任何一种,即根位于顶部,其子级位于下一层,...
- 将您的树表示为类似于上例的树图。
大多数(如果不是全部)这些技术在 Tassima 等人的 图形绘制和可视化手册 的 Tree-drawing chapter 中进行了描述和可视化。其他