JFreeChart:如何使一个系列看不见?

时间:2012-07-02 13:26:37

标签: jfreechart

我试图制作一个看不见的欧姆棒图表,以便我可以只用移动平均线离开窗口。 这是两个系列的代码(ohlc条和移动平均线):

private static JFreeChart createChart(OHLCDataset dataset)
{
    JFreeChart chart = ChartFactory.createHighLowChart(
            "HighLowChartDemo2",
            "Time",
            "Value",
            dataset,
            true);

    XYPlot plot = (XYPlot)chart.getPlot();

    DateAxis axis = (DateAxis)plot.getDomainAxis();
    axis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
    NumberAxis yAxis = (NumberAxis)plot.getRangeAxis();
    yAxis.setNumberFormatOverride(new DecimalFormat("$0.00"));

    //overlay the moving average dataset...
    XYDataset dataset2 = MovingAverage.createMovingAverage(dataset, "-MAVG", 3 * 24 * 60 * 60 * 1000L, 0L);
    plot.setDataset(1, dataset2);
    plot.setRenderer(1, new StandardXYItemRenderer());

    XYItemRenderer theRenderer = plot.getRenderer(0);
    theRenderer.setSeriesVisible(0, false);

    return chart;
}

由于某种原因,setSeriesVisible函数无法正常工作。 有任何想法吗? 谢谢。

1 个答案:

答案 0 :(得分:2)

HighLowRenderer会忽略getSeriesVisible()getBaseSeriesVisible(),但 会检查getDrawOpenTicks()getDrawCloseTicks()。您可以替换OHLCDataset

plot.setDataset(0, null);

或者,首先不要添加OHLCDataset;只需使用它来创建MovingAverage