JFreechart 折线图 折线大小、颜色设置、图标大小设置
时间: 2023-08-06 17:10:06 浏览: 173
要设置折线图的折线大小、颜色和图标大小,可以使用下面的代码示例:
```java
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.RenderingHints;
public class LineChartExample {
public static void main(String[] args) {
// 创建数据集
XYDataset dataset = createDataset();
// 创建折线图
JFreeChart chart = ChartFactory.createXYLineChart(
"折线图", // 图表标题
"X轴", // X轴标签
"Y轴", // Y轴标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向
true, // 是否显示图例
true, // 是否生成工具
false // 是否生成URL链接
);
// 设置折线图的样式
XYPlot plot = chart.getXYPlot();
plot.setBackgroundPaint(Color.WHITE); // 设置背景色
plot.setRangeGridlinePaint(Color.GRAY); // 设置网格线颜色
plot.setRangeGridlinesVisible(true); // 设置网格线是否可见
// 设置折线的样式
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesPaint(0, Color.BLUE); // 设置第一个折线的颜色
renderer.setSeriesStroke(0, new BasicStroke(2.0f)); // 设置第一个折线的宽度
renderer.setSeriesShape(0, new java.awt.geom.Ellipse2D.Double(-3.0, -3.0, 6.0, 6.0)); // 设置第一个折线的图标大小和形状
plot.setRenderer(renderer);
// 设置字体渲染
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
chart.getTitle().setFont(new Font("宋体", Font.BOLD, 18));
plot.getDomainAxis().setTickLabelFont(new Font("宋体", Font.PLAIN, 12));
plot.getRangeAxis().setTickLabelFont(new Font("宋体", Font.PLAIN, 12));
// 显示折线图
ChartFrame frame = new ChartFrame("折线图", chart);
frame.pack();
frame.setVisible(true);
}
// 创建数据集
private static XYDataset createDataset() {
XYSeries series = new XYSeries("折线1");
series.add(1, 1);
series.add(2, 3);
series.add(3, 2);
series.add(4, 4);
series.add(5, 3);
series.add(6, 6);
XYSeriesCollection dataset = new XYSeriesCollection();
dataset.addSeries(series);
return dataset;
}
}
```
在上面的代码中,使用 `XYLineAndShapeRenderer` 类来设置折线的样式,可以通过 `setSeriesPaint` 方法设置折线的颜色,通过 `setSeriesStroke` 方法设置折线的宽度,通过 `setSeriesShape` 方法设置折线的图标大小和形状。此外,通过 `setBackgroundPaint` 方法设置背景色,通过 `setRangeGridlinePaint` 方法设置网格线颜色,通过 `setRangeGridlinesVisible` 方法设置网格线是否可见。最后,通过设置字体渲染来调整标题和轴标签的字体样式。
阅读全文