请写出LineAndShapeRenderer设置点的例子
时间: 2023-05-25 08:01:35 浏览: 66
A:以下是设置点的例子。
```java
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.LineAndShapeRenderer;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import java.awt.*;
import java.awt.geom.Ellipse2D;
public class LineAndShapeRendererDemo extends ApplicationFrame {
private static final long serialVersionUID = 1L;
public LineAndShapeRendererDemo(String title) {
super(title);
ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
XYDataset dataset = createDataset();
JFreeChart chart = createChart(dataset);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartPanel);
}
private static XYDataset createDataset() {
XYSeries series = new XYSeries("Sample Series");
series.add(1.0, 1.0);
series.add(2.0, 4.0);
series.add(3.0, 3.0);
series.add(4.0, 5.0);
series.add(5.0, 5.0);
series.add(6.0, 7.0);
series.add(7.0, 7.0);
series.add(8.0, 8.0);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
return dataset;
}
private static JFreeChart createChart(final XYDataset dataset) {
// create the chart...
final JFreeChart chart = ChartFactory.createXYLineChart(
"Line and Shape Renderer Demo",
"X",
"Y",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
chart.setBackgroundPaint(Color.white);
// get a reference to the plot for further customization...
final XYPlot plot = chart.getXYPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
final NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
domainAxis.setAutoRangeIncludesZero(false);
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
rangeAxis.setAutoRangeIncludesZero(false);
// render shapes and lines
final LineAndShapeRenderer renderer = new LineAndShapeRenderer();
renderer.setSeriesLinesVisible(0, true);
renderer.setSeriesShapesVisible(0, true);
renderer.setSeriesShape(0, new Ellipse2D.Double(-5.0, -5.0, 10.0, 10.0));
plot.setRenderer(renderer);
return chart;
}
public static void main(String[] args) {
final LineAndShapeRendererDemo demo = new LineAndShapeRendererDemo("Line and Shape Renderer Demo");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
```
这个例子使用了JFreeChart库创建了一个基本的XYLineChart,在渲染器中设置了series的线条和点的可见性,并将点形状设置为椭圆形,使其突出显示。您可以尝试使用其他形状以及将其颜色改为与线条相同。