我正在尝试绘制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
提交
取消