如何在JFreeChart图表上绘制线条?

6

我有可更新的OHLC图表。

我需要在图表上绘制一条线。

如何实现?

2个回答

29

如果您想在轴上的特定位置绘制垂直或水平线条,可以使用ValueMarker

ValueMarker marker = new ValueMarker(position);  // position is the value on the axis
marker.setPaint(Color.black);
//marker.setLabel("here"); // see JavaDoc for labels, colors, strokes

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

如果你想要绘制一条水平线,请使用plot.addRangeMarker()


3
可以使用getXYPlot()替换getPlot()和强制类型转换。 - Line

3
如果您想绘制线性指标(例如移动平均线),那么以下内容应该能够起作用:
    XYDataset dataSet = // your line dataset

    CombinedDomainXYPlot plot = (CombinedDomainXYPlot) chart.getPlot();
    XYPlot plot = (XYPlot) plot.getSubplots().get(0);
    int dataSetIndx = plot.getDatasetCount();
    plot.setDataset(dataSetIndx, dataSet);

    XYLineAndShapeRenderer lineRenderer = new XYLineAndShapeRenderer(true, false);
    plot.setRenderer(dataSetIndx, lineRenderer);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接