Java JFreeChart-不完全可见的折线图
我正在使用JFreeChart库在网站上创建图表(根据教程,该库与我的应用程序集成)。除了一件事外,一切看起来都很棒:由于某些原因,某些数据的折线图并不完全可见(请参见屏幕) 我不知道为什么会这样。我发布了负责配置的代码:Java JFreeChart-不完全可见的折线图,java,jfreechart,tapestry,Java,Jfreechart,Tapestry,我正在使用JFreeChart库在网站上创建图表(根据教程,该库与我的应用程序集成)。除了一件事外,一切看起来都很棒:由于某些原因,某些数据的折线图并不完全可见(请参见屏幕) 我不知道为什么会这样。我发布了负责配置的代码: Richard提供的链接很好地描述了问题;但是,最终,看起来您需要手动设置范围轴的上限,以考虑XYSPLINEENDERER生成的样条曲线的上曲线。对于上面的示例,这可能是: xyplot.getRangeAxis().setUpperBound(22.5); 出于实际
Richard提供的链接很好地描述了问题;但是,最终,看起来您需要手动设置范围轴的上限,以考虑XYSPLINEENDERER生成的样条曲线的上曲线。对于上面的示例,这可能是:
xyplot.getRangeAxis().setUpperBound(22.5);
出于实际目的,您可能需要计算最大Y值,并向其中添加一个百分比,或者更复杂的是,根据其周围的点计算天花板。我将从添加10%开始,然后看看结果如何:
// Iterate data values; use Math.max() to determine maxYValue; then:
xyplot.getRangeAxis().setUpperBound( maxYValue + maxYValue * 0.1);
它在补丁中,但它应该提供您想要的结果,这取决于数据的性质和连接数据点的曲线。Richard提供的链接很好地描述了问题;但是,最终,看起来您需要手动设置范围轴的上限,以考虑XYSPLINEENDERER生成的样条曲线的上曲线。对于上面的示例,这可能是:
xyplot.getRangeAxis().setUpperBound(22.5);
出于实际目的,您可能需要计算最大Y值,并向其中添加一个百分比,或者更复杂的是,根据其周围的点计算天花板。我将从添加10%开始,然后看看结果如何:
// Iterate data values; use Math.max() to determine maxYValue; then:
xyplot.getRangeAxis().setUpperBound( maxYValue + maxYValue * 0.1);
这是一个补丁,但它应该提供您想要的结果,这取决于数据的性质和连接数据点产生的曲线。似乎没有一个简单的解决方法。原因是XYSplineRenderer在图形上绘制的点超过了最大点,正如这里所讨论的:似乎没有一个简单的解决方法。原因是XYSplineRenderer在图形上的最大点上方绘制,如下所述: