0

我创建了一个带有自定义轴的图表和一条使用垂直轴和水平轴的简单线。接下来我通过调用类提供的setAutomatic(false) 和setMinMax(min, max)方法进行放大Axis。TeeChart 放大了,但与正常放大相比,它的行为有所不同。它不会重新调整轴标签 - 为什么?如何重新调整轴标签以使其不重叠?

调试后我发现,在正常放大之后,接下来会调用方法 invalidate()。所以我也尝试调用doInvalidate()我的 teechart 实例,但这没有帮助。setMinorTickCount(arg0)adjustMinMax()没有改变。

知道如何重新缩放标签吗?谢谢

以下是如何重现它:

TChart chart = new TChart(parent, 0);
Line series = new Line(chart.getChart());
series.fillSampleValues(100);

chart.getAxes().getBottom().setAutomatic(false);
chart.getAxes().getBottom().setMinMax(0.0, 10.0);
chart.getAxes().getBottom().setMinMax(2.0, 5.0);

当我在此操作后滚动时,我需要类似的东西。滚动后,标签会正确重新缩放。

谢谢

4

1 回答 1

1

和这里一样。

首先注意setMinMax()函数已经设置automaticfalse,所以你不需要在调用setAutomatic(false)之前调用setMinMax()。此外,调用setMinMax()函数两次,只有最后一次调用才有意义,而且我没有看到任何不同的行为添加或删除第一个。

我已经看到您的代码似乎生成了一个在底部轴上带有重叠标签的图表。这很奇怪,因为如果我稍微滚动一下图表,或者设置稍微不同的最小值和最大值,重叠就不会出现:

tChart1.getAxes().getBottom().setMinMax(2.01, 5.01);

我已将其添加到愿望清单中,以便为下一个版本进行修订 (TJ71016731)。


更新:

作为一种解决方法,您可以手动设置Increment如下:

tChart1.getAxes().getBottom().setIncrement(0.5);
于 2013-10-02T13:16:26.763 回答