Altair/Streamlit 未读取多线图表的列名

Altair/Streamlit not reading column name for multiline chart

我的数据框的列名格式为 'State1 - City - 1-1''State1 - City - 1-2' ....等。当我 运行 streamlit 代码:st.line_chart(df),我得到错误:

ValueError: variable encoding field is specified without a type; the type cannot be inferred because it does not match any column in the data

出于测试目的,如果我将所有列名称更改为整数,我会得到所需的图表。

当您看到此错误时,表示图表中使用的列名与数据框中的列名不匹配。对于您的情况,我怀疑这可能是由于使用了不同类型的连字符引起的。例如:

>>> 'State1 - City - 1-1' == 'State1 – City – 1-1'
False

第一个字符串中的'-'个字符是连字符,而第二个字符串中的'–'个字符是破折号;尽管它们在某些字体中看起来相似,但它们并不等同。

确保图表中的字段名称与数据中的列名称完全匹配。