JFreeChart生成图片设置颜色组
时间: 2024-05-06 21:18:16 浏览: 94
JFreeChart可以通过设置颜色组来为生成的图表设置颜色。下面是一个简单的例子:
```java
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DatasetUtilities;
import java.awt.Color;
public class ChartDemo {
public static void main(String[] args) {
// 创建数据集
double[][] data = new double[][] {{1.0, 2.0, 3.0}, {4.0, 5.0, 6.0}};
String[] rowKeys = {"Series 1", "Series 2"};
String[] columnKeys = {"Category 1", "Category 2", "Category 3"};
org.jfree.data.category.DefaultCategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
// 创建图表
JFreeChart chart = ChartFactory.createBarChart("Demo Chart", "Category", "Value", dataset);
// 获取绘图区域对象
PiePlot plot = (PiePlot) chart.getPlot();
// 设置颜色组
Color[] colors = {Color.RED, Color.GREEN, Color.BLUE};
plot.setSectionPaint(columnKeys[0], colors[0]);
plot.setSectionPaint(columnKeys[1], colors[1]);
plot.setSectionPaint(columnKeys[2], colors[2]);
// 生成图片
try {
org.jfree.chart.ChartUtilities.saveChartAsJPEG(new java.io.File("chart.jpg"), chart, 500, 300);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们创建了一个柱状图,并为每个类别设置了不同的颜色。可以通过 `setSectionPaint()` 方法来设置每个类别的颜色。在这个例子中,我们使用了三种颜色(红、绿、蓝)来为三个类别设置颜色。你可以根据自己的需求来设置颜色组。
阅读全文