我正在使用JFreeChart在Java中创建一个应用程序,它显示了一个XY折线图。问题是它在线上显示数据集的每个点,我不想显示这些点。有关如何删除点或使它们不可见的任何想法?
这是一个截图示例:
这是代码:
JFrame frame = new JFrame();
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesPaint(0, Color.RED);
renderer.setSeriesStroke(0, new BasicStroke(2.0f,
BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f,
new float[] { 2.0f, 4.0f }, 0.0f));
XYDataset ds = createDataset(i, p, capacity);
JFreeChart xylineChart = ChartFactory.createXYLineChart("", "",
"", ds, PlotOrientation.VERTICAL, true, true, false);
XYPlot plot = xylineChart.getXYPlot();
plot.setDomainGridlinePaint(Color.BLACK);
plot.setRangeGridlinePaint(Color.BLACK);
plot.setBackgroundPaint(Color.WHITE);
plot.setRenderer(renderer);
ChartPanel cp = new ChartPanel(xylineChart);
frame.getContentPane().add(cp);
默认情况下,no-argument constructor的XYLineAndShapeRenderer
“创建一个可见线条和形状的新渲染器。”要删除积分,您可以
ChartFactory.createXYLineChart
所示:
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, false);
setSeriesShapesVisible()
,因为@abhinavxeon建议here和the author建议here:
renderer.setSeriesShapesVisible(0, false)