我正在尝试在 Altair 中水平连接两个图表,但我无法让它们看起来像我想要的那样。
它们的样子是这样的:
这是我正在使用的代码:
pick_ausbildung = alt.selection_single(fields = ["Ausbildungsstand"], on = "mouseover")
ausbildung_chart = alt.Chart(umfrage,
title = "Ausbildungsstand").mark_bar().encode(
y=alt.Y("Ausbildungsstand", axis = alt.Axis(title = None)),
x="count()",
color = alt.condition(pick_ausbildung,
alt.Color("Ausbildungsstand:N",
legend = None), alt.value("lightgrey")),
tooltip = ["Ausbildungsstand","count()"]).properties(height=200).add_selection(pick_ausbildung)
g_ausbildung_chart = alt.Chart(umfrage).mark_bar().encode(
x="Geschlecht",
y="count()",
color = "Geschlecht",
tooltip = ["Geschlecht","count()"]).properties(width=300).transform_filter(pick_ausbildung)
ausbildung_chart|g_ausbildung_chart
基本上,我想将图表“Ausbildungsstand”放置在图表区域的中间。我的意思是,我想将它与 Canvas 的上边缘分开。
我可以通过调整图表的高度来获得我想要的结果(如果它们具有相同的高度,则它们是对齐的),但我想知道如何在“ Canvas ”内移动图表.
预先感谢您的帮助。
最佳答案
您可以使用alt.hconcat()
函数并传递 center=True
。例如:
import altair as alt
import pandas as pd
df = pd.DataFrame({
'label': ['A', 'B', 'C', 'D', 'E'],
'value': [3, 5, 4, 6, 2],
})
chart1 = alt.Chart(df).mark_bar().encode(y='label', x='value')
chart2 = alt.Chart(df).mark_bar().encode(x='label', y='value')
alt.hconcat(chart1, chart2, center=True)
关于python - 如何在 Altair 的 HConcatChart 中配置图表位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66067285/