请用开始时间 结束时间 时间快捷 名字 这四个参数写个java折线图
时间: 2023-11-14 18:21:26 浏览: 26
以下是一个简单的Java折线图代码示例,使用 JFreeChart 库绘制:
```java
import java.awt.Color;
import java.awt.Dimension;
import java.util.Date;
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
public class LineChartDemo extends JFrame {
private static final long serialVersionUID = 1L;
public LineChartDemo(String title) {
super(title);
// 创建数据集合
TimeSeriesCollection dataset = createDataset();
// 创建图表
JFreeChart chart = createChart(dataset);
// 创建面板并添加图表
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartPanel);
}
private TimeSeriesCollection createDataset() {
TimeSeriesCollection dataset = new TimeSeriesCollection();
TimeSeries series = new TimeSeries("数据");
// 添加数据
series.add(new Second(new Date(2021, 10, 1, 10, 0, 0)), 50);
series.add(new Second(new Date(2021, 10, 2, 10, 0, 0)), 60);
series.add(new Second(new Date(2021, 10, 3, 10, 0, 0)), 70);
series.add(new Second(new Date(2021, 10, 4, 10, 0, 0)), 80);
series.add(new Second(new Date(2021, 10, 5, 10, 0, 0)), 90);
dataset.addSeries(series);
return dataset;
}
private JFreeChart createChart(TimeSeriesCollection dataset) {
// 创建图表
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"折线图", // 图表标题
"时间", // X轴标签
"数值", // Y轴标签
dataset, // 数据集合
true, // 是否显示图例
true, // 是否生成工具提示
false // 是否生成URL链接
);
// 设置背景色
chart.setBackgroundPaint(Color.white);
// 获取图表区域对象
XYPlot plot = (XYPlot) chart.getPlot();
// 设置轴的范围
DateAxis dateAxis = (DateAxis) plot.getDomainAxis();
dateAxis.setRange(new Date(2021, 9, 30, 10, 0, 0), new Date(2021, 10, 6, 10, 0, 0));
NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
numberAxis.setRange(0, 100);
// 设置线条样式
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesPaint(0, Color.blue);
renderer.setSeriesStroke(0, new java.awt.BasicStroke(2.0f));
plot.setRenderer(renderer);
return chart;
}
public static void main(String[] args) {
LineChartDemo demo = new LineChartDemo("折线图示例");
demo.pack();
demo.setVisible(true);
}
}
```
在这个示例中,我们创建了一个名为 `LineChartDemo` 的类,继承了 `JFrame` 类,实现了一个简单的折线图。其中,`createDataset()` 方法用于创建数据集合,`createChart()` 方法用于创建图表。
我们设置了 X 轴为时间轴,Y 轴为数值轴,添加了一条数据序列,并使用 `renderer` 对象设置了线条颜色和样式。
最后,在 `main()` 方法中,我们创建了一个 `LineChartDemo` 对象,并将其显示在窗口中。