为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕丝7291255 2023-08-08 16:31:14
我正在尝试绘制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"),

)

https://img3.sycdn.imooc.com/64d1fd7d0001375104690343.jpg

查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 57 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信