小怪兽爱吃肉
在 Altair 中没有简单的方法可以做到这一点,因为 Vega 不支持它但是您可以通过转换数据、使用标准对数刻度,然后计算新的刻度标签来反映您的基础数据来解决这个问题。它可能看起来像这样:import altair as altimport pandas as pddf = pd.DataFrame({ 'x': range(5), 'y': [0.0001, 0.9, 0.99, 0.999, 0.9999],})alt.Chart(df).transform_calculate( z = 1 - alt.datum.y ).mark_line().encode( x='x:Q', y=alt.Y( 'z:Q', scale=alt.Scale(type='log', reverse=True)), axis=alt.Axis( values=[1, 0.1, 0.01, 0.001, 0.0001, 0.00001], labelExpr="1 - datum.value"),)