JFreechart - 获取当前显示的数据集的最小值和最大值,以自动调整y轴

时间:2012-11-04 10:29:01

标签: jfreechart

我使用JFreeChart创建的图表的移动导航有问题。从库源代码中包含的示例中,当我们进行缩放或在图表上移动时,图表可以自由移动。但我目前正在尝试做的是像实际交易平台那样的行为,让我们说Metatrader(MT4)。当图表向左/向右移动时,数据集的最小值/最大值正在变化,因此图表的y轴会根据需要进行更新。基本上我已经知道如何使用以下代码更改y轴的范围:

ValueAxis y_range = plot.getRangeAxis(); range.setRange(min, max);

但是现在我的问题是获取最小/最大值,我认为它应该来自屏幕上当前可见的数据集。

任何人都知道如何获取图表当前可见数据集的最小/最大值?我目前掌握的信息是完整的数据集。 我已经探讨了一些与JFreeChart相关的论坛,有些建议使用以下内容:

static Range    findDomainBounds(XYDataset dataset)

但如果我使用我的数据集,它将是整个数据集的最小值/最大值。如果这是获取我需要的信息的唯一方法,任何想法如何获得当前可见图表的数据集的唯一部分? (不是整个数据集)

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:1)

不清楚您XYDataset使用哪个AbstractXYDataset,但您可以随时展开{{1}},如here所示,以获得您的最小值/最大值目前选择的轴范围。