在 Altair 中创建具有多个轴和间隙的堆积图

Creating stacked chart in Altair with multiple axes and gaps

我正在尝试在 Altair 中创建一个图表来描述同一时间尺度上的两个不同进程。这是 excel

中的示例

我在 excel 中使用以下数据生成了下面的堆叠水平条形图。红色的数字是 offsets/gaps,不会在最终图中显示。这些数字没有什么特别之处,请随意使用任何其他数字集。

红色的数字是偏移量和 我本来可以尝试发布的,但是我完全无法猜测从什么功能开始。任何帮助将不胜感激。

下面是一个示例,说明如何使用条件不透明度隐藏偏移值来制作这样的图表:

import altair as alt
import pandas as pd

df = pd.DataFrame({
    'axis': [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2],
    'value': [0.5, 0.9, 2, 1, 3, 1, 0.8, 1, 1.4, 1.1, 4.1, 0.3, 1.1],
    'label': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', None, 'C', None, 'F', 'G']
})

alt.Chart(df.reset_index()).mark_bar().encode(
    y=alt.Y('axis:O', scale=alt.Scale(domain=[2, 1])),
    x='value:Q',
    color=alt.Color('label:N', legend=None),
    opacity=alt.condition('isValid(datum.label)', alt.value(1), alt.value(0)),
    order=alt.Order('index:Q', sort='ascending')
)