我正在嘗試繪制hdrhistogram的等效圖,以分析一些延遲數據,但是這樣做似乎并不簡單,因為它需要本質上是對數標度的倒數。也就是說,我想要得到的是一個刻度,其刻度線如下:[0,0.9, 0.99, 0.999, 0.9999]我正在通過 Python 的 Altair 庫對這一切進行編碼,如果這有任何幫助的話。
1 回答

小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
在 Altair 中沒有簡單的方法可以做到這一點,因為 Vega 不支持它
但是您可以通過轉換數據、使用標準對數刻度,然后計算新的刻度標簽來反映您的基礎數據來解決這個問題。它可能看起來像這樣:
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"),
)
添加回答
舉報
0/150
提交
取消