Altair 堆积图未显示所有值

Altair stacked-chart not showing all values

我觉得有些奇怪。 我有一个包含 3 列的数据框。我创建了一个堆叠条形图,但并非所有值都显示在我的堆叠条形图中。

这是我的代码:

#Create STACKED bar
data3 = data.groupby(['Bouwnummer', 'Omschrijving klachttype']).size().to_frame('Aantal klachten')

data3.reset_index(inplace=True)

st.dataframe(data = data3)

chart2 = alt.Chart(data3).mark_bar().encode(
x='Bouwnummer',
y='Aantal klachten',
color='Omschrijving klachttype'
).interactive()

# Show the chart2
st.altair_chart(chart2, use_container_width=True)

My dataframe shown with streamlit

Stacked bar in streamlit not showing all values of 'Bouwnummer 63'

为什么图表中没有显示 'Bouwnummer 63' 的所有值?

Thnx 进阶

如果你想堆叠条形,你可以在 y 编码的 stack 参数中指定:

chart2 = alt.Chart(data3).mark_bar().encode(
  x='Bouwnummer',
  y=alt.Y('Aantal klachten', stack=True),
  color='Omschrijving klachttype'
).interactive()

或者,如果您确保 x 编码是顺序编码而不是数量编码,则默认情况下会堆叠条形:

chart2 = alt.Chart(data3).mark_bar().encode(
  x='Bouwnummer:O',
  y='Aantal klachten',
  color='Omschrijving klachttype'
).interactive()