1 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
在 Altair 中沒有簡單的方法可以做到這一點(diǎn),因?yàn)?Vega 不支持它
但是您可以通過轉(zhuǎn)換數(shù)據(jù)、使用標(biāo)準(zhǔn)對數(shù)刻度,然后計(jì)算新的刻度標(biāo)簽來反映您的基礎(chǔ)數(shù)據(jù)來解決這個(gè)問題。它可能看起來像這樣:
import altair as alt
import pandas as pd
df = 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"),
)
添加回答
舉報(bào)