python - 如何替换altair中的轴标签?
问题描述
我想将轴标签从 [0,0.5,1] 更改为 ['infrequent','average','frequent'] 如下所示:
我尝试按照以下方式进行更改,但它不起作用。
alt.Chart(df).mark_circle().encode(
alt.X('x:Q',
axis=alt.Axis(values=['infrequent','average','frequent']),title="A's frequency"),
alt.Y('y:Q',
axis=alt.Axis(values=['infrequent','average','frequent']),title="B's frequency"),
color=alt.Color('s:Q',scale=alt.Scale(domain=[0, 1],scheme="redyellowblue")),
tooltip=['term',
alt.Tooltip('cat:Q', title="Occurence in A"),
alt.Tooltip('ncat:Q', title="Occurence in B"),
alt.Tooltip('s:Q', title="Score close to A",format='.2')]
).properties(
width=300,
height=300
)
任何人都可以给我一些建议吗?提前致谢。
解决方案
您可以使用与此 VegaLite 示例labelExpr
中相同的方法,使用字符串:
axis_labels = (
"datum.label == 0 ? 'Infrequent'
: datum.label == 0.5 ? 'Average'
: 'Frequent'"
)
alt.X('x:Q',axis=alt.Axis(labelExpr=axis_labels))
推荐阅读
- github - Heroku 自动部署不做任何事情
- java - 我的 java bmi 计算器给出了相同的答案
- javascript - 尝试使用异步功能时,对象作为反应子无效
- css - 如何配置更漂亮以禁止 !important 在(s)css文件中?
- javascript - 如何将货币格式添加到结果
- asp.net - ASP.NET 发出过期的身份验证 Cookie
- vue.js - 编译单个 vue 组件
- android - 如何在Android中将微调器重置为默认值?
- spring - Spring WebFlux + Kotlin 响应处理
- angular - 在 ng2-charts 条形图中,最小值是不可见的