Звучит так, как будто у вас есть широкие данные, а не длинные данные. Разница обсуждается в Длинные данные против широкоформатных данных .
После того, как вы преобразовали свои данные в длинные, вы можете использовать стандартные кодировки для достижения этого результата. Вот как это может выглядеть, используя пример данных:
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',
)