python-Altair复选框默认

前端之家收集整理的这篇文章主要介绍了python-Altair复选框默认 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试创建带有复选框的Altair图表.默认情况下,该复选框处于未选中状态,但我希望选中该默认复选框. HTML复选框具有“ checked”属性来实现此目的,但我不知道如何通过Altair API传达此信息.这可能吗?

在下面的示例中,“ A”和“ B”系列开始着色,并且未选中复选框.期望的行为是要选中这些框,而当未选中它们时,相应的系列将显示为灰色.

  1. data = pd.DataFrame(
  2. {
  3. "Block":("A","A","B","A"),"X":(10,15,11,30,45,9),"Y":(1.1,10,3.5,5,20),}
  4. )
  5. a_data = data.loc[data["Block"] == "A"]
  6. b_data = data.loc[data["Block"] == "B"]
  7. a_filter = alt.binding_checkBox()
  8. b_filter = alt.binding_checkBox()
  9. a_select = alt.selection_single(
  10. fields=["Block"],bind=a_filter,name="A"
  11. )
  12. b_select = alt.selection_single(
  13. fields=["Block"],bind=b_filter,name="B"
  14. )
  15. a_cond = alt.condition(
  16. a_select,alt.Color("Block:N"),alt.value("lightgray")
  17. )
  18. b_cond = alt.condition(
  19. b_select,alt.value("lightgray")
  20. )
  21. a_chart = alt.Chart(a_data).mark_point(filled=True).encode(
  22. x="X:Q",y=alt.Y(
  23. "Y:Q",scale=alt.Scale(type="log")
  24. ),color=a_cond
  25. ).add_selection(a_select)
  26. b_chart = alt.Chart(b_data).mark_point(filled=True).encode(
  27. x="X:Q",color=b_cond
  28. ).add_selection(b_select)
  29. (a_chart + b_chart)

Example chart

最佳答案
Altair版本2(当前版本)不支持选择默认值.

Altair版本3(即将发布)使用init参数支持选择默认值,您可以像这样使用它:

  1. a_select = alt.selection_single(
  2. fields=["Block"],name="A",init={'Block': 'A'}
  3. )
  4. b_select = alt.selection_single(
  5. fields=["Block"],name="B",init={'Block': 'B'}
  6. )

猜你在找的Python相关文章