如何使用 altair 将标题置于分组条形图中的中心
How to center the title in a grouped bar chart with altair
我正在尝试使标题在分组条形图中居中。
通过阅读文档 (),我认为我可以通过在 configure_title 方法中指定方向和锚点参数来设法做到这一点。
但这似乎对我不起作用。我为锚参数尝试了几个值,但看起来它没有应用并坚持其默认值。
有什么我遗漏的吗?
我正在使用 2.4.1 版的 altair。
import altair as alt
import pandas as pd
# dataset
df = pd.DataFrame([[1, 'A', 'G1'],
[2, 'A', 'G2'],
[5, 'B', 'G1'],
[10, 'B', 'G2'],
[4, 'C', 'G1'],
[9, 'C', 'G2'],
[1, 'D', 'G1'],
[1, 'D', 'G2'],
[4, 'E', 'G1'],
[9, 'E', 'G2'],
[8, 'F', 'G1'],
[1, 'F', 'G2'],
[2, 'G', 'G1'],
[3, 'G', 'G2'],
[2, 'H', 'G1'],
[1, 'H', 'G2'],
[3, 'I', 'G1'],
[8, 'I', 'G2'],
[7, 'J', 'G1'],
[5, 'J', 'G2'],
], columns=['Count', 'Category', 'Group'])
chart = alt.Chart(df, title=f"Count of categories in each group",
width=50, height=600).mark_bar().encode( column=alt.Column('Category:O'),
color=alt.Color('Group', type='nominal', scale=alt.Scale(range=['#1f77b4', '#2ca02c'])),
x=alt.X(field="Group", type="nominal",
axis=None,
title="Category",
),
y=alt.Y(field="Count", type="quantitative",
axis=alt.Axis(title="Number of records",
titlePadding=10.0),
),
)
chart = chart.configure_title(fontSize=20, offset=5, orient='top', anchor='middle')
# display the chart
chart
标题保留在左上角,而不是在顶部中间。
这是 Vega-Lite 2 中的一个问题,已在 Vega-Lite 3 中修复。一旦您更新到 Altair 版本 3,它应该可以按预期工作,而无需对您的代码进行任何更改:
我正在尝试使标题在分组条形图中居中。
通过阅读文档 (),我认为我可以通过在 configure_title 方法中指定方向和锚点参数来设法做到这一点。
但这似乎对我不起作用。我为锚参数尝试了几个值,但看起来它没有应用并坚持其默认值。
有什么我遗漏的吗?
我正在使用 2.4.1 版的 altair。
import altair as alt
import pandas as pd
# dataset
df = pd.DataFrame([[1, 'A', 'G1'],
[2, 'A', 'G2'],
[5, 'B', 'G1'],
[10, 'B', 'G2'],
[4, 'C', 'G1'],
[9, 'C', 'G2'],
[1, 'D', 'G1'],
[1, 'D', 'G2'],
[4, 'E', 'G1'],
[9, 'E', 'G2'],
[8, 'F', 'G1'],
[1, 'F', 'G2'],
[2, 'G', 'G1'],
[3, 'G', 'G2'],
[2, 'H', 'G1'],
[1, 'H', 'G2'],
[3, 'I', 'G1'],
[8, 'I', 'G2'],
[7, 'J', 'G1'],
[5, 'J', 'G2'],
], columns=['Count', 'Category', 'Group'])
chart = alt.Chart(df, title=f"Count of categories in each group",
width=50, height=600).mark_bar().encode( column=alt.Column('Category:O'),
color=alt.Color('Group', type='nominal', scale=alt.Scale(range=['#1f77b4', '#2ca02c'])),
x=alt.X(field="Group", type="nominal",
axis=None,
title="Category",
),
y=alt.Y(field="Count", type="quantitative",
axis=alt.Axis(title="Number of records",
titlePadding=10.0),
),
)
chart = chart.configure_title(fontSize=20, offset=5, orient='top', anchor='middle')
# display the chart
chart
标题保留在左上角,而不是在顶部中间。
这是 Vega-Lite 2 中的一个问题,已在 Vega-Lite 3 中修复。一旦您更新到 Altair 版本 3,它应该可以按预期工作,而无需对您的代码进行任何更改: