0

我已经使用 Achim Westerman 的 jchart2D 类已经有一段时间了,只是碰巧发生了一个例子,我试图在图表的右侧制作 3 个 Y 轴。

制作3轴的代码如下

//Create Y Axis 1
AAxis<IAxisScalePolicy> yAxisShaftSpeed = 
                    new AxisLinear<IAxisScalePolicy>();
yAxisShaftSpeed.setAxisScalePolicy(new AxisScalePolicyManualTicks());
yAxisShaftSpeed.setMinorTickSpacing(10);
yAxisShaftSpeed.setStartMajorTick(true);
yAxisShaftSpeed.setPaintGrid(false);
yAxisShaftSpeed.setAxisTitle(new IAxis.AxisTitle("Shaft Speed (RPM)"));
IRangePolicy rangePolicyYShaftSpeed = 
                    new RangePolicyFixedViewport(new Range(0,225));
//Create Y axis 2
AAxis<IAxisScalePolicy> yAxisWindSpeed = 
                    new AxisLinear<IAxisScalePolicy>();
yAxisWindSpeed.setAxisScalePolicy(new AxisScalePolicyManualTicks());
yAxisWindSpeed.setMinorTickSpacing(10);
yAxisWindSpeed.setStartMajorTick(true);
yAxisWindSpeed.setPaintGrid(false);
yAxisWindSpeed.setAxisTitle(new IAxis.AxisTitle("Wind Speed (m/s))"));
IRangePolicy rangePolicyYWindSpeed = 
                    new RangePolicyFixedViewport(new Range(0,25));
//Create Y axis 3
AAxis<IAxisScalePolicy> yAxisPressure = 
                    new AxisLinear<IAxisScalePolicy>();
yAxisPressure.setAxisScalePolicy(new AxisScalePolicyManualTicks());
yAxisPressure.setMinorTickSpacing(10);
yAxisPressure.setStartMajorTick(true);
yAxisPressure.setPaintGrid(false);
yAxisPressure.setAxisTitle(new IAxis.AxisTitle("Pressure (hPa)"));
IRangePolicy rangePolicyYPressure = 
                    new RangePolicyFixedViewport(new Range(700,1100));

然后我继续添加并设置右手 Y 轴如下

timePlotZoomableChart.setAxisYRight(yAxisShaftSpeed,0);
timePlotZoomableChart.addAxisYRight(yAxisWindSpeed);
timePlotZoomableChart.addAxisYRight(yAxisPressure);

不幸的是,当图表出现时,三个 Y 轴按预期位于右侧,但所有标题都在第一个添加的右侧 Y 轴 (yAxisShaftSpeed) 下相互堆叠。有人有什么想法吗?

提前致谢。

4

1 回答 1

0

可能是一个错误(我从未测试过这个)。随意发布错误报告,包括最小可运行代码、jchart2d 的版本、操作系统和在 sourceforge 上的 java 版本。亲切的问候,阿奇姆

于 2012-05-09T20:50:53.293 回答