如何在同一张图表中将两个不同系列的柱状图并排放置?

How can I put two bars of distinct series next to each other in the same chart?

假设我们的数据框有两个整数系列:estimated_valuesell_price

我想在同一个条形图中有两个相邻的条形。 左边显示average(estimated_value),右边显示average(sell_price)。 他们应该共享同一个轴。

我认为这将是一个非常常见的用例,但我在文档中找不到任何示例。所有示例都使用 'colour' 或 'column' 对条形进行分组。

听起来你有宽格式数据而不是长格式数据。 Long-form vs. Wide-form data.

中讨论了差异

将数据转换为长格式后,您可以使用标准编码来实现此结果。下面是它的外观,使用一些示例数据:

import altair as alt
import pandas as pd

data = pd.DataFrame({
    'estimated_value': [500, 600, 700, 800, 900],
    'sell_price': [550, 610, 690, 810, 950]
})

alt.Chart(data).transform_fold(
    ['estimated_value', 'sell_price'], as_=['category', 'price']
).mark_bar().encode(
    y='category:N',
    x='average(price):Q',
)