gpt4 book ai didi

java - JFreeChart - 不完全可见的折线图

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:44 24 4
gpt4 key购买 nike

我正在使用 JFreeChart 库在网站上创建图表(根据 this 教程,库与我的应用程序集成)。一切看起来都很棒,除了一件事:由于某种原因,某些数据折线图不完全可见(请参见屏幕)。

Not fully visible chart

我不知道为什么会这样。我发布负责配置的代码:

public JFreeChart createChart()
{
NumberAxis numberaxis = new NumberAxis("X");
numberaxis.setAutoRangeIncludesZero(false);
NumberAxis numberaxis1 = new NumberAxis("Y");
numberaxis1.setAutoRangeIncludesZero(false);
XYSplineRenderer xysplinerenderer = new XYSplineRenderer();

XYPlot xyplot = new XYPlot(createSampleData(), numberaxis, numberaxis1, xysplinerenderer);
xyplot.setBackgroundPaint(new Color(238, 242, 250));//
xyplot.setDomainGridlinePaint(new Color(238, 242, 250));
xyplot.setRangeGridlinePaint(new Color(238, 242, 250));
xyplot.getRenderer().setSeriesPaint(0, Color.BLUE);
xyplot.setAxisOffset(new RectangleInsets(4D, 4D, 4D, 4D));
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) xyplot.getRenderer();
renderer.setSeriesShapesVisible(0, true);//FIXME Dots

xyplot.getDomainAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());

JFreeChart jfreechart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, xyplot, true);
jfreechart.setBackgroundPaint(Color.white);
return jfreechart;

}

最佳答案

理查德提供的链接很好地描述了这个问题;但最终,您似乎需要手动设置范围轴的上限,以考虑 XYSplineRenderer 生成的样条线的上曲线。对于上面的示例,这可能是:

xyplot.getRangeAxis().setUpperBound(22.5);

出于实际目的,您可能想要计算最大 Y 值,并为其添加百分比,或更复杂的是,根据其周围的点计算上限。我会首先添加 10%,看看效果如何:

// Iterate data values; use Math.max() to determine maxYValue; then:
xyplot.getRangeAxis().setUpperBound( maxYValue + maxYValue * 0.1);

它处于补丁状态,但它应该提供您想要的结果,具体取决于数据的性质以及连接数据点生成的曲线。

关于java - JFreeChart - 不完全可见的折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19857994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com