【问题标题】:Creating stacked chart in Altair with multiple axes and gaps在 Altair 中创建具有多个轴和间隙的堆叠图表
【发布时间】:2021-02-04 02:13:00
【问题描述】:

我正在尝试创建一个图表,在 Altair 的同一时间尺度上描绘两个不同的过程。这是excel中的一个例子

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

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

【问题讨论】:

  • 有趣的问题!您能否在您的问题中添加一些示例数据,最好以 pandas 数据框的形式?
  • 嗨@jakevdp - 会的。谢谢。

标签: python data-visualization altair


【解决方案1】:

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

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')
)

【讨论】:

  • 嗨@jakevdp,感谢这个惊人的答案。我希望第二个轴的颜色与第一个轴不同,但希望我可以让它工作。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2019-09-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
相关资源
最近更新 更多