反对数刻度 [0,0.9,0.99,0.999]

我正在尝试绘制hdrhistogram的等效图,以分析一些延迟数据,但是这样做似乎并不简单,因为它需要本质上是对数标度的倒数。

也就是说,我想要得到的是一个刻度,其刻度线如下:[0,0.9, 0.99, 0.999, 0.9999]

我正在通过 Python 的 Altair 库对这一切进行编码,如果这有任何帮助的话。


慕丝7291255
浏览 58回答 1
1回答

小怪兽爱吃肉

在 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"),)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python