JFreeChart折线图(用ValueMarker标识定值)
时间: 2023-08-15 18:10:20 浏览: 143
JFreeChart是一款Java语言编写的开源图表库,可以用于生成各种类型的图表,包括折线图、柱状图、饼图等。
要在JFreeChart的折线图中使用ValueMarker标识定值,可以按照以下步骤进行:
1. 创建一个折线图对象,例如:
```java
JFreeChart chart = ChartFactory.createLineChart(
"折线图", // 图表标题
"X轴", // X轴标题
"Y轴", // Y轴标题
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向
true, // 是否显示图例
false, // 是否显示工具提示
false // 是否显示URL链接
);
```
其中,`dataset`是一个`XYDataset`类型的数据集对象,用于存储折线图的数据。
2. 获取折线图的绘图区对象,例如:
```java
XYPlot plot = (XYPlot) chart.getPlot();
```
3. 创建一个ValueMarker对象,例如:
```java
ValueMarker marker = new ValueMarker(50); // 在Y轴上标识值为50的位置
marker.setPaint(Color.RED); // 标识线颜色为红色
marker.setStroke(new BasicStroke(2)); // 标识线宽度为2个像素
```
其中,`ValueMarker`的参数是要标识的值,可以是X轴或Y轴的值,这里选取Y轴的值进行标识。
4. 将ValueMarker对象添加到绘图区中,例如:
```java
plot.addRangeMarker(marker); // 在Y轴上添加标识线
```
这样就可以在JFreeChart的折线图中使用ValueMarker标识定值了。完整的代码示例如下:
```java
import java.awt.BasicStroke;
import java.awt.Color;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.ValueMarker;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.DefaultXYDataset;
public class LineChartDemo {
public static void main(String[] args) {
// 创建数据集
DefaultXYDataset dataset = new DefaultXYDataset();
double[][] data = {{1, 2, 3, 4, 5}, {10, 20, 30, 40, 50}};
dataset.addSeries("数据", data);
// 创建折线图
JFreeChart chart = ChartFactory.createLineChart(
"折线图", // 图表标题
"X轴", // X轴标题
"Y轴", // Y轴标题
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向
true, // 是否显示图例
false, // 是否显示工具提示
false // 是否显示URL链接
);
// 获取绘图区
XYPlot plot = (XYPlot) chart.getPlot();
// 创建标识线
ValueMarker marker = new ValueMarker(50); // 在Y轴上标识值为50的位置
marker.setPaint(Color.RED); // 标识线颜色为红色
marker.setStroke(new BasicStroke(2)); // 标识线宽度为2个像素
// 添加标识线到绘图区
plot.addRangeMarker(marker); // 在Y轴上添加标识线
// 显示图表
ChartFrame frame = new ChartFrame("折线图", chart);
frame.pack();
frame.setVisible(true);
}
}
```
阅读全文