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

如何像设置timeScale的barSpacing一样修改priceScale并指定缩放范围?

为Lightweight Charts价格轴设置特定缩放范围

要手动指定价格轴的固定范围,你可以使用官方提供的priceScale().setPriceRange()方法,示例代码如下:

// 直接设置价格轴的最小和最大值
chart.priceScale().setPriceRange(100, 200);

如果需要在图表初始化阶段就锁定范围,先关闭自动缩放再设置固定范围:

const chart = createChart(document.getElementById('chart'), {
  priceScale: {
    autoScale: false, // 关闭自动缩放功能
  },
});

// 初始化完成后设置价格范围
chart.priceScale().setPriceRange(50, 150);

如果要基于数据动态计算并设置范围,可以这样做:

// 假设已加载K线数据
const data = [
  { time: '2024-01-01', open: 120, high: 130, low: 115, close: 125 },
  // 更多数据...
];

// 提取所有价格数据计算极值
const allPrices = data.flatMap(item => [item.high, item.low]);
const minPrice = Math.min(...allPrices);
const maxPrice = Math.max(...allPrices);

// 添加10%的缓冲空间,避免价格紧贴轴边缘
const buffer = (maxPrice - minPrice) * 0.1;
chart.priceScale().setPriceRange(minPrice - buffer, maxPrice + buffer);

如果需要限制用户手动调整价格轴,可以配合以下配置:

// 禁用价格轴的鼠标滚轮和捏合缩放
chart.priceScale().applyOptions({
  mouseWheelEnabled: false,
  pinchEnabled: false,
});

// 自定义按钮触发范围调整
document.getElementById('custom-range-btn').addEventListener('click', () => {
  chart.priceScale().setPriceRange(80, 180);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:22:14