A linked bar chart is the augmentation of a traditional bar chart where each bar is partitioned into blocks and pairs of blocks are linked using orthogonal lines that pass over intermediate bars. The order of the blocks readily influences the legibility of the links. We study the algorithmic problem of minimizing the vertical length of these links, for a fixed bar order. The main challenge lies with ``dependent'' links, whose vertical link length cannot be optimized independently per bar. We show that, if the dependent links form a forest, the problem can be solved in $O(nm)$ time, for n bars and m links. If the dependent links between non-adjacent bars form a forest, the problem admits an $O(n^4m)$-time algorithm. Finally, we show that the general case is fixed-parameter tractable in the maximum number of links that are connected to one bar.
论文ID : 2511.16812标题 : Minimizing Vertical Length in Linked Bar Charts作者 : Steven van den Broek (TU Eindhoven), Marc van Kreveld (Utrecht University), Wouter Meulemans (TU Eindhoven), Arjen Simons (TU Eindhoven)分类 : cs.CG (Computational Geometry)发表时间/会议 : 2025年11月20日提交至arXiv,研究始于2024年AGA研讨会论文链接 : https://arxiv.org/abs/2511.16812 链接柱状图(Linked Bar Chart)是传统柱状图的增强版本,每个柱子被分割成多个块(blocks),块之间通过正交线连接,这些连接线需要跨越中间的柱子。块的排列顺序直接影响连接线的可读性。本文研究在固定柱子顺序下最小化连接线垂直长度的算法问题。主要挑战在于"依赖链接"(dependent links),其垂直长度无法独立优化。研究表明:若依赖链接构成森林结构,问题可在O(nm)时间内解决(n个柱子,m条链接);若非相邻柱子间的依赖链接构成森林,可在O(n⁴m)时间内求解;一般情况下,该问题在柱子最大度数参数下是固定参数可解的(FPT)。
传统柱状图只能表示单类别数据,但在许多实际场景中,某些数值并非唯一归属于某一类别,而是与多个类别相关。例如:
共享数量 :账户间的通信量同时出现在两个账户的统计中成对不确定性 :选举民调中犹豫于两个政党之间的选民;边境工厂对两国污染的贡献跨类别数据的可视化是数据分析中的重要需求。链接柱状图通过在柱子之间添加连接线来表示这种关系,但块的堆叠顺序直接影响连接线的垂直长度,进而影响图表的可读性和美观性。
标准柱状图无法直接可视化跨类别数值 虽然链接柱状图最近被提出17 ,但其块堆叠顺序的优化问题尚未被研究 传统图绘制问题(如单页书嵌入)只考虑顶点顺序,未考虑块堆叠这一新维度 本文首次系统研究链接柱状图中最小化垂直链接长度的算法问题,为这一新型可视化方法提供理论基础和高效算法。
问题形式化 :首次定义了链接柱状图中最小化垂直链接长度的优化问题,引入了"独立链接"和"依赖链接"的分类体系森林结构算法 :证明当依赖链接子图构成森林时,问题可在O(nm)时间内通过动态规划求解(定理3)非相邻森林算法 :证明当非相邻依赖链接构成森林时,问题可在O(n⁴m)时间内求解(定理6)FPT算法 :证明一般情况下问题是固定参数可解的,参数为柱子的最大度数Δ,时间复杂度为O(Δ^(3δ)·δ·n)(定理8)复杂性下界 :证明当顶点可有多个可任意排序的未链接块时,问题是强NP困难的(定理12)输入 :加权图G = (V, E, w),其中:
V:n个顶点的固定序列v₁, ..., vₙ E ⊆ V²:m条边 w: V ∪ E → ℝ⁺:权重函数(顶点权重=单类别值,边权重=跨类别值) 输出 :每个柱子内块的堆叠顺序,使得:
约束 :
柱子的水平顺序固定 未链接块放置在柱子底部 链接必须跨越所有中间柱子 论文将链接分为两大类:
独立链接(IL) :垂直长度可通过将块放置到固定目标t来独立优化,成本为|t - y| + |t - y'|。三种情况:
某中间柱子高于某端点的最高可能位置 → 目标为最高中间柱子高度H 两端点的可能位置区间内部不相交 → 目标为较高区间的最低位置 某端点位置固定(对应序列为空)→ 目标为该固定位置 依赖链接(DL) :垂直长度取决于两个块的相对位置,无法分配静态目标。进一步分为:
相邻依赖链接(ADL):连接相邻柱子 非相邻依赖链接(NADL):连接非相邻柱子 关键引理1 :依赖链接子图是外平面图(outerplanar),因此树宽≤2。
对于柱子Bⱼ中的块b(对应左向边lᵢ ∈ Lⱼ),其垂直中心坐标为:
y(b, k) = ½h(b) + w(vⱼ) + Σ(x=1 to i-1)h(lₓ) + Σ(x=1 to k)h(rₓ)
其中k表示其下方右向块的数量。
成本函数 :
独立块b在位置i:λ(b, i) = |t - y(b, i)| 依赖链接e在位置(i,j):
λ(e, i, j) = {
|H - y(b,i)| + |H - y(b',j)| 若两端点都低于H
|y(b,i) - y(b',j)| 否则
}
核心思想 :利用树结构确定柱子处理顺序,通过动态规划自底向上计算。
算法步骤 :
对森林中每棵树T任意选根 对每个柱子B,设lₚ*为连接父节点的块(父链接) 定义动态规划表:P(B, k):子树Tᵦ的最小成本,父链接块下方有k个右向块 D↓(p, q):前p个左向块和q个右向块的最小成本 D↑(p, q):后续块的最小成本 分解策略 :父链接块lₚ*在位置k将柱子分为两个独立部分:P(B, k) = D↓(p*-1, k) + D↑(p*+1, k+1)
递归计算D↓ :D↓(p, q) = min{
D↓(p-1, q) + cost(lₚ, q),
D↓(p, q-1) + cost(rᵧ, p)
}
对于依赖块,成本为:minⱼ λ(e, i, j) + P(B', j)时间复杂度分析 :
每个柱子度数为d时,计算D表需O(d²) 预计算依赖块成本:O(d·d') 总时间:O(Σd² + Σd·d') = O(nm) 扩展挑战 :允许相邻依赖链接(ADL),需处理更复杂的依赖关系。
关键技术 :
扩展森林F:包含所有NADL和最大ADL集合(不形成环) 增强状态表示:P*(B, k, l, r),参数化三个可能的单端点依赖链接 处理ADL:
设a←,1, a←,2, ...为左侧ADL,a→,1, a→,2, ...为右侧ADL 动态规划表D↓(p, q, x, y)和D↑(p, q, x, y)需跟踪ADL位置 递归公式 (当lₚ为依赖块时):
D↓(p, q, x, y) = min over χ of [
min over x'(D↓(p-1, q, x', y) + λ(a←,i, χ, x')) +
min over k'(P(B', k', x, χ) + λ(lₚ, k', q))
]
时间复杂度 :
每个(p,q)对:O(Δ³)预计算 + O(Δ³)计算D 总共O(d²)对,每个柱子O(Δ³d²) 计算P:O(Δ⁴d) 总时间:O(n⁴m) 核心技术 :树分解(Tree Decomposition)
算法框架 :
构建依赖链接子图G'的nice tree decomposition (T, X, r)树宽≤2(外平面图性质) O(n)个节点,每个袋最多3个柱子 可在O(n)时间内构建 定义状态:P*(u, S₁, S₂, S₃)u:树分解中的节点 Sᵢ:袋中柱子Bᵢ的状态(每个依赖链接的位置) 表示u的"过去"(past)中所有块和链接的最小成本 状态数量 (引理9):每个柱子:O(Δ^δ)种状态(δ条依赖链接到Δ个位置的单射函数) 每个节点:O(Δ^(3δ))种状态 按节点类型处理 :叶节点 :P*(u) = 0,O(1)时间连接节点 :P*(u, ...) = P*(v, ...) + P*(w, ...),O(Δ^(3δ)·δ)时间引入节点 :直接继承子节点,O(Δ^(3δ)·δ)时间遗忘节点 :最复杂,需处理被遗忘柱子的独立块和依赖链接遗忘节点处理 (引理11):P*(u, S₁, S₂) = min over S∈Sf [
P*(v, S₁, S₂, S) + IL(S) + DL(S, S₁) + DL(S, S₂)
]
预计算Dᵢ,ⱼ(p, q):独立块子集的最小成本,O(Δ³)时间 每个状态:O(Δ^δ·δ)时间 总计:O(Δ^(3δ)·δ)时间 时间复杂度 :O(n)个节点 × O(Δ^(3δ)·δ) = O(Δ^(3δ)·δ·n)
推论 :
当Δ = O(1)时,算法为多项式时间 当仅δ = O(1)时(依赖链接度数有界),算法仍为多项式时间O(n) 链接分类体系 :独立/依赖链接的分类使得可以分解优化问题,独立链接可局部优化,依赖链接需全局考虑分层动态规划 :算法1:利用树结构分解 算法2:引入参数化状态处理ADL 算法3:利用树分解处理一般情况 外平面图性质利用 :依赖链接子图的外平面性保证树宽≤2,为FPT算法提供理论基础预计算策略 :在遗忘节点中预计算独立块子集成本,避免重复计算注 :本文为理论算法论文,不包含实验验证部分。论文聚焦于算法设计和复杂度分析。
论文通过归约证明了问题的困难性:
定理12(强NP困难性) :当顶点可有多个可任意排序的未链接块时,最小化垂直链接长度是强NP困难的。
证明方法 :从3-Partition问题归约
构造:2k-1个柱子,B₀有n个未链接块(对应3-Partition实例) 关键性质:只有B₀的未链接块顺序可调整 等价性:存在零垂直长度方案 ⟺ 存在3-Partition解 本文为纯理论工作,无实验结果部分。主要结果为:
依赖链接结构 时间复杂度 定理 无依赖链接 O(nm) 引理5 森林结构 O(nm) 定理3 非相邻为森林 O(n⁴m) 定理6 一般情况 O(Δ^(3δ)·δ·n) 定理8 多未链接块 强NP困难 定理12
结构依赖性 :问题复杂度强烈依赖于依赖链接的图结构度数参数化 :一般情况下FPT可解,当依赖度数有界时为多项式时间柱子高度结构 :
单局部最大值 → 依赖链接为路径集合 单局部最小值 → 非相邻依赖链接为森林 单页书嵌入 :外平面图恰好是可无交叉绘制的图1 传统优化目标 :
交叉数最小化5,13,14 边长度最小化15,16 弯曲数最小化2,10,13,15 本文贡献 :首次考虑块堆叠顺序这一新维度故事线可视化 :考虑垂直距离9 平行坐标图 :屏幕空间度量7 本文扩展 :将垂直距离度量应用于链接柱状图外平面图 :最小化总/最大边长、cutwidth、bandwidth在多项式时间可解11 一般图 :这些问题是NP困难的12 本文位置 :介于多项式和NP困难之间,通过参数化复杂度分析原始提出 :van Beusekom等17 用于可视化依赖和独立不确定性本文贡献 :首次系统研究其算法优化问题分层复杂度 :问题复杂度从O(nm)(森林结构)到FPT(一般情况)到强NP困难(扩展版本)实用算法 :对于常见的结构化数据(如单峰/单谷高度分布),存在高效多项式算法参数化可解性 :一般情况下,当柱子度数有界时问题可高效求解固定柱子顺序 :算法假设柱子顺序预先给定,未考虑联合优化理论性质 :一般情况的精确复杂度(P vs NP)仍未确定实验验证缺失 :未提供算法的实际实现和性能评估实例结构要求 :FPT算法在高度数实例上可能不实用论文明确提出以下研究方向:
复杂度确定 :确定固定柱子顺序下一般情况是否NP困难联合优化 :同时优化柱子顺序和块堆叠顺序扩展设计 :非对称链接 :两端块高度不同其他度量 :弯曲数最小化等有向图和多重图 :多条链接的排序和分组超图 :三个或多个柱子间的链接实际应用 :在真实数据集上评估算法性能理论严谨性 :完整的复杂度分层(从多项式到FPT到NP困难) 严格的数学证明和时间复杂度分析 清晰的问题形式化 算法设计巧妙 :独立/依赖链接分类提供了有效的问题分解 三个算法分别利用森林结构、树分解等不同技术 动态规划设计精巧,充分利用问题结构 结果完整性 :覆盖多种特殊情况和一般情况 提供上界(算法)和下界(NP困难性) 参数化分析提供细粒度复杂度刻画 写作清晰度 :概念定义明确(如链接类型、past等) 图示辅助理解(图3-8) 逐步递进的算法展示 实用性验证缺失 :无实际数据实验 FPT算法在Δ较大时的实际效率未知 缺少与启发式算法的比较 一般情况复杂度空白 :固定柱子顺序下是否NP困难仍未确定 归约证明依赖于多未链接块假设,与原问题有差距 算法复杂度较高 :算法2的O(n⁴m)对大规模实例可能不实用 算法3的指数依赖Δ^(3δ)在度数较大时爆炸 问题范围限制 :仅考虑垂直长度单一目标 未考虑交叉最小化等其他重要质量指标 固定柱子顺序的假设较强 理论贡献 :开创性地研究链接柱状图的算法问题 为可视化优化提供新的研究方向 展示了参数化复杂度在可视化中的应用 实用价值 :为实际系统提供理论指导 特殊情况算法可直接应用 为启发式算法设计提供基准 可复现性 :直接适用 :柱子高度有单峰/单谷分布的数据(算法1、2) 柱子度数较小的稀疏图(算法3) 依赖链接结构简单的场景 需要扩展 :大规模密集图(需启发式算法) 需联合优化柱子顺序的场景 多目标优化(长度+交叉+弯曲) 理论指导 :可视化系统设计 数据预处理(如排序柱子以形成森林结构) 近似算法评估基准 1 Bernhart & Kainen (1979): The book thickness of a graph - 单页书嵌入的基础理论
6 Cygan et al. (2015): Parameterized algorithms - FPT算法的标准教材
11 Frederickson & Hambrusch (1988): Planar linear arrangements of outerplanar graphs - 外平面图优化的多项式算法
17 van Beusekom et al. (2024): Visualizing set sizes with dependent and independent uncertainties - 链接柱状图的原始提出
总体评价 :这是一篇高质量的理论计算几何论文,系统研究了链接柱状图优化的算法问题。论文理论严谨,算法设计巧妙,复杂度分析完整。主要价值在于为这一新型可视化方法建立了坚实的理论基础。不足之处是缺乏实验验证和一般情况复杂度的完整刻画。未来若能结合实际数据评估和启发式算法设计,将显著提升其实用价值。