Java JFreeChart:当时间轴缩短时,如何缩放Y轴?

Java JFreeChart:当时间轴缩短时,如何缩放Y轴?,java,scale,jfreechart,yaxis,Java,Scale,Jfreechart,Yaxis,我已经在JFreeChart中创建了一个绘图,由TimeSeriesCollection和XYPlot组成。水平轴使用日期轴,垂直(Y)轴使用数字轴。如果水平轴使用的是我有数据点的所有日期,则在使用时,我会得到一个适当的Y轴比例: Y1axis.setAutoRangeIncludesZero(false); Y1axis.setRangeWithMargins(LeftSeries.getRangeBounds(true)); 现在,我只想从可用时间数据的一部分创建一个绘图。例如:我有四年的

我已经在JFreeChart中创建了一个绘图,由
TimeSeriesCollection
XYPlot
组成。水平轴使用
日期轴
,垂直(Y)轴使用
数字轴
。如果水平轴使用的是我有数据点的所有日期,则在使用时,我会得到一个适当的Y轴比例:

Y1axis.setAutoRangeIncludesZero(false);
Y1axis.setRangeWithMargins(LeftSeries.getRangeBounds(true));
现在,我只想从可用时间数据的一部分创建一个绘图。例如:我有四年的数据点,但只想创建第二年的绘图。为此,我创建了一个日期范围(
MinDate
是我要显示的最旧数据点,
MaxDate
是我要显示的最新数据点):

这将根据需要缩放水平轴。但是,如果我现在使用相同的代码缩放Y轴(
yAxis.setRangeWithMargins(LeftSeries.getRangeBounds(true))
),我会得到适合整个数据集的整个垂直范围。我想要的是适合日期范围的垂直刻度
MinDate
~
MaxDate
。 我尝试了一些方法来正确缩放垂直轴,但没有一个是好的。例如:

double LowValue = Y1axis.getLowerBound();
double HighValue = Y1axis.getUpperBound();
Y1axis.setRange(LowValue, HighValue);
不起作用。 我应该使用什么代码来调整垂直(Y)轴上的比例,以适应绘图中显示的水平时间轴数据点?

您只需启用
Y1轴的自动范围:

Y1axis.setAutoRangeIncludesZero(false);
Y1axis.setAutoRange(true);
例如:

所有数据:

禁用自动范围的值子集:

启用自动范围的值子集:


很明显,但不知何故我忽略了这一点。谢谢Topaco,它回答了我的问题。
Y1axis.setAutoRangeIncludesZero(false);
Y1axis.setAutoRange(true);