本文概述
- 散点图示例
- ScatterPlotExample.java
下图显示了JFreeChart库中包含的Scatter图表的一些演示版本:
【JFreeChart-散点图】散点图演示1:
文章图片
散点图演示2:
文章图片
散点图演示3:
文章图片
散点图示例 让我们考虑以下散点图的示例数据。
Boys (Series 1) | Girls (Series 2) | ||
---|---|---|---|
Age | Weight | Age | Weight |
1 | 72.9 | 1 | 72.5 |
2 | 81.6 | 2 | 80.1 |
3 | 88.9 | 3 | 87.2 |
4 | 96 | 4 | 94.5 |
5 | 102.1 | 5 | 101.4 |
6 | 108.5 | 6 | 107.4 |
7 | 113.9 | 7 | 112.8 |
8 | 119.3 | 8 | 118.2 |
9 | 123.8 | 9 | 122.9 |
10 | 124.4 | 10 | 123.4 |
ScatterPlotExample.java
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class ScatterPlotExample extends JFrame {private static final long serialVersionUID = 6294689542092367723L;
public ScatterPlotExample(String title) {super(title);
// Create datasetXYDataset dataset = createDataset();
// Create chartJFreeChart chart = ChartFactory.createScatterPlot("Boys VS Girls weight comparison chart", "X-Axis", "Y-Axis", dataset);
//Changes background colorXYPlot plot = (XYPlot)chart.getPlot();
plot.setBackgroundPaint(new Color(255, 228, 196));
// Create PanelChartPanel panel = new ChartPanel(chart);
setContentPane(panel);
}private XYDataset createDataset() {XYSeriesCollection dataset = new XYSeriesCollection();
//Boys (Age, weight) seriesXYSeries series1 = new XYSeries("Boys");
series1.add(1, 72.9);
series1.add(2, 81.6);
series1.add(3, 88.9);
series1.add(4, 96);
series1.add(5, 102.1);
series1.add(6, 108.5);
series1.add(7, 113.9);
series1.add(8, 119.3);
series1.add(9, 123.8);
series1.add(10, 124.4);
dataset.addSeries(series1);
//Girls (Age, weight) seriesXYSeries series2 = new XYSeries("Girls");
series2.add(1, 72.5);
series2.add(2, 80.1);
series2.add(3, 87.2);
series2.add(4, 94.5);
series2.add(5, 101.4);
series2.add(6, 107.4);
series2.add(7, 112.8);
series2.add(8, 118.2);
series2.add(9, 122.9);
series2.add(10, 123.4);
dataset.addSeries(series2);
return dataset;
}public static void main(String[] args) {SwingUtilities.invokeLater(() ->
{ScatterPlotExample example = new ScatterPlotExample("Scatter Chart Example");
example.setSize(800, 400);
example.setLocationRelativeTo(null);
example.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
example.setVisible(true);
});
}}
输出:
文章图片
推荐阅读
- JFreeChart-时间序列图
- JFreeChart PlotOrientation绘图方向类
- PiePlot 3D类
- JFreeChart-饼图
- NumberAxis类
- JFreeChart折线图
- 接口PieDataset
- JFreeChart-Gantt图表
- DefaultPieDataset类