堆叠条形图,其中每列都是 Altair 中多列的条形图
Stacked bar charts where each column is a bar chart with multiple columns in Altair
我想绘制类似的图表
但它与 R 一起使用,我想使用 Python,希望与 Atair 一起使用。
听起来您有 wide-form 数据,您需要将其转换为 long-form 数据(请参阅 Altair 文档中的 Long Form vs. Wide Form data)。
处理此问题的一种便捷方法是使用 Fold Transform。例如:
import altair as alt
import pandas as pd
df = pd.DataFrame({
'label': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
'value1': [1, 3, 2, 4, 5, 6, 4],
'value2': [2, 1, 2, 5, 3, 4, 2],
})
alt.Chart(df).transform_fold(
['value1', 'value2'],
as_=['column', 'value']
).mark_bar().encode(
x='label:N',
y='value:Q',
color='column:N'
)
我想绘制类似的图表
听起来您有 wide-form 数据,您需要将其转换为 long-form 数据(请参阅 Altair 文档中的 Long Form vs. Wide Form data)。
处理此问题的一种便捷方法是使用 Fold Transform。例如:
import altair as alt
import pandas as pd
df = pd.DataFrame({
'label': ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
'value1': [1, 3, 2, 4, 5, 6, 4],
'value2': [2, 1, 2, 5, 3, 4, 2],
})
alt.Chart(df).transform_fold(
['value1', 'value2'],
as_=['column', 'value']
).mark_bar().encode(
x='label:N',
y='value:Q',
color='column:N'
)