【问题标题】:How do I set min and max for bottom axis for candlestick series in TeeChart?如何在 TeeChart 中为烛台系列的底轴设置最小值和最大值?
【发布时间】:2025-12-22 14:55:16
【问题描述】:

我正在尝试使用 TeeChart 库显示烛台系列。

一切都很好,只是我无法控制显示的数据范围。问题是当我向我的系列添加新数据时,我想滚动底部轴以显示最后的 N 值。例如。当我添加新蜡烛时,我想滚动 +1 索引以显示此条。

我发现 Axis 类有两种方法可以做到这一点:

axis.setMinMax(DateTime arg0, DateTime arg1)
axis.setMinMax(double arg0, double arg1)

哪种方法适合与 Candles 结合使用?我猜这是第一个需要 2 个 DateTime 参数的重载,但我在没有特定日期的情况下向 Candle 系列添加值:

Candle series = ...
...
series.add(bar.getOpen(), bar.getHigh(), bar.getLow(), bar.getClose());

所以所有的点都有一个默认日期。

我还尝试使用 axis.setMinMax(double arg0, double arg1) 指定我想显示的 startIndexendIndex,但它似乎不起作用...

是否可以在我的情况下用蜡烛控制范围而不为每个系列的值指定 DateTime 值?

【问题讨论】:

    标签: java android teechart


    【解决方案1】:

    如果你知道 startIndexendIndex,你可以这样做:

    axis.setMinMax(series.getXValues().getValue(startIndex), series.getXValues().getValue(endIndex));
    

    如果您知道要应用于轴的偏移量,另一种选择是调用轴滚动方法,即:

    int myOffset = 1;
    axis.scroll(myOffset, true);
    

    如果您知道要显示的值的数量,还有另一种选择:

    int nValuesToShow = 10;
    axis.setMinMax(series.getXValues().getValue(series.getCount()-nValuesToShow-1), series.getXValues().getValue(series.getCount()-1);
    

    最后请注意,Add() 不带日期(不带 XValue)的覆盖是用 getCount() 作为 XValue 添加您的值。

    【讨论】: