如何将 Altair 图表设置为特定的增量?
How to set Altair graph to specific increments?
所以我正在处理我创建的调查中的数据。我正在尝试创建一个堆叠条形图,显示我收到的回复中性别与抑郁症的差异。抑郁症的值是 1、2、3、4、5,介于两者之间。当我尝试绘制它时,它给了我最大 5 的增量值。我怎样才能在没有增量值的情况下绘制 1 - 5 的图形?
alt.Chart(df).mark_bar().encode(
x='Depression',
y='Responses',
color='Gender',
order=alt.Order(
'Gender',
sort='ascending'
)
这给了我这个:
公平地说,我知道这不是我的图表唯一的问题,但我正在努力弄清楚如何让它真正发挥作用。这只是我 运行 关注的问题之一。
您可以在编码中指定序数数据类型。
altair 中的数值数据默认为 quantitative 编码类型,适用于连续的实值数据。 序数 编码适用于像您的数据中那样的离散有序类别。
您可以在编码中使用 "*:O"
shorthand 指定序号编码:
alt.Chart(df).mark_bar().encode(
x='Depression:O',
y='Responses',
color='Gender',
order=alt.Order(
'Gender',
sort='ascending'
)
)
有关详细信息,请参阅 Encoding Data Types in the Altair documentation, and in particular the Effect of Data Type on Axis Scales 部分。
所以我正在处理我创建的调查中的数据。我正在尝试创建一个堆叠条形图,显示我收到的回复中性别与抑郁症的差异。抑郁症的值是 1、2、3、4、5,介于两者之间。当我尝试绘制它时,它给了我最大 5 的增量值。我怎样才能在没有增量值的情况下绘制 1 - 5 的图形?
alt.Chart(df).mark_bar().encode(
x='Depression',
y='Responses',
color='Gender',
order=alt.Order(
'Gender',
sort='ascending'
)
这给了我这个:
公平地说,我知道这不是我的图表唯一的问题,但我正在努力弄清楚如何让它真正发挥作用。这只是我 运行 关注的问题之一。
您可以在编码中指定序数数据类型。
altair 中的数值数据默认为 quantitative 编码类型,适用于连续的实值数据。 序数 编码适用于像您的数据中那样的离散有序类别。
您可以在编码中使用 "*:O"
shorthand 指定序号编码:
alt.Chart(df).mark_bar().encode(
x='Depression:O',
y='Responses',
color='Gender',
order=alt.Order(
'Gender',
sort='ascending'
)
)
有关详细信息,请参阅 Encoding Data Types in the Altair documentation, and in particular the Effect of Data Type on Axis Scales 部分。