我想根据值自动缩放图表Y轴。
我的确切问题是用这个问题中的图像解释的,但那是jfreechart库,我尝试了解决方案,但没有工作。
Auto-Scale Y-Axis in JfreeChart
这是我的代码
NumberAxis rangeAxis1 = new NumberAxis();
rangeAxis1.setStandardTickUnits(createTickUnits());
rangeAxis1.setAutoTickUnitSelection(true);
rangeAxis1.setAutoRange(true);
rangeAxis1.setAutoRangeIncludesZero(false);
rangeAxis1.setAxisLinePaintType(white);
rangeAxis1.setAxisLineStroke(1);
rangeAxis1.setTickMarkPaintType(white);
rangeAxis1.setTickMarkStroke(1);
rangeAxis1.setTickMarkOutsideLength(2);
rangeAxis1.setLabelPaintType(white);
rangeAxis1.setTickLabelPaintType(white);
rangeAxis1.setTickLabelInsets(new RectangleInsets(10, 0, 10, 0));
rangeAxis1.setLimitAble(/*true*/false);
rangeAxis1.setLimitRange(20, 70);
HighLowRenderer renderer1 = new HighLowRenderer();
renderer1.setBaseOutlinePaintType(white);
renderer1.setBaseOutlineStroke(1.0f);
renderer1.setOpenTickPaintType(red);
renderer1.setCloseTickPaintType(blue);
XYPlot subplot1 = new XYPlot(dataset1, null, rangeAxis1, renderer1);
subplot1.setDataset(1, dataset3);
subplot1.setRenderer(1, renderer3);*/
subplot1.setBackgroundPaintType(black);
subplot1.setDomainGridlinePaintType(darkGreen);
subplot1.setRangeGridlinePaintType(darkGreen);
subplot1.setRangeAxisLocation(AxisLocation.TOP_OR_RIGHT);
subplot1.setOutlineVisible(true);
subplot1.setOutlinePaintType(white);
subplot1.setOutlineStroke(2.0f);
ValueAxis timeAxis = new DateAxis("Date");
timeAxis.setAxisLinePaintType(white);
timeAxis.setAxisLineStroke(1);
timeAxis.setTickMarkPaintType(white);
timeAxis.setTickMarkStroke(1);
timeAxis.setTickMarkOutsideLength(2);
timeAxis.setLabelPaintType(white);
timeAxis.setTickLabelPaintType(white);
CombinedDomainXYPlot plot = new CombinedDomainXYPlot(timeAxis);
plot.setBackgroundPaintType(black);
plot.add(subplot1, 2);
AFreeChart chart= ChartFactory.
createHighLowChart("OHLCPreview","Time","Value",dataset1,false);
// setting chart
chart.setBackgroundPaintType(white);
答案 0 :(得分:1)
最后我找到了解决方案......
我实际上用最后一行代码
覆盖了最后的subplot1AFreeChart chart= ChartFactory.
createHighLowChart("OHLCPreview","Time","Value",dataset1,false);
替换为
AFreeChart chart = new AFreeChart(
"OHLCPreview",
AFreeChart.DEFAULT_TITLE_FONT,
plot, false);