You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Elixir库ContEx设置Y轴固定范围(0-56)?

如何在ContEx中固定柱状图Y轴范围为0-56并显示指定刻度

你当前使用ContinuousLogScale是问题根源——对数刻度无法处理0值,直接导致图表显示混乱。要实现固定Y轴范围0-56并强制显示56刻度,应该改用线性刻度,并明确配置刻度位置:

修改后的配置代码

options = [
  custom_value_scale:
    Contex.ContinuousLinearScale.new(
      domain: {0, 56}, # 固定Y轴数据范围为0到56
      tick_positions: [0, 10, 20, 30, 40, 50, 56], # 包含需要的56刻度,可按需调整其他刻度
      clamp?: true # 确保数据超出范围时被限制在0-56内,可选但推荐
    ),
  colour_palette: ["ffdfae"],
  data_labels: false
]

关键说明

  • 替换ContinuousLogScale为ContinuousLinearScale:线性刻度适合0到固定最大值的数值场景,不会出现对数刻度的异常问题。
  • domain: {0, 56}:直接固定Y轴的数据范围,无论你的柱状图数据最大值是多少,轴都会从0延伸到56。
  • tick_positions:显式列出需要显示的刻度,务必包含56,这样即使数据未达到56,该刻度也会被渲染出来。
  • clamp?: true:可选配置,若你的数据存在超出0-56的情况,会自动将其截断到范围内,避免图表溢出。

如果需要更精细控制轴的显示,还可以配合y_axis的额外配置,确保所有指定刻度都被渲染:

options = [
  # 保留上述custom_value_scale配置
  y_axis: [
    show_all_ticks?: true
  ]
]

内容的提问来源于stack exchange,提问作者Sangeetha ilango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:39:52