在java中我想使用柱状图对比abc三组数据三组数据应当使用不同的颜色加以区分为我写出所需要的代码
以下是使用JFreeChart库实现柱状图的示例代码:
import java.awt.Color;
import java.util.Arrays;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChartExample {
public static void main(String[] args) {
// 生成数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10, "Group A", "Data 1");
dataset.addValue(20, "Group A", "Data 2");
dataset.addValue(30, "Group A", "Data 3");
dataset.addValue(15, "Group B", "Data 1");
dataset.addValue(25, "Group B", "Data 2");
dataset.addValue(35, "Group B", "Data 3");
dataset.addValue(5, "Group C", "Data 1");
dataset.addValue(15, "Group C", "Data 2");
dataset.addValue(25, "Group C", "Data 3");
// 设置颜色
Color[] colors = {Color.RED, Color.GREEN, Color.BLUE};
int colorIndex = 0;
// 创建柱状图
org.jfree.chart.JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart Example",
"Category",
"Value",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false);
// 遍历每个系列(即每个组)
for (Object series : dataset.getRowKeys()) {
// 设置系列的颜色
chart.getCategoryPlot().getRenderer().setSeriesPaint(
dataset.getRowIndex((String)series),
colors[colorIndex++ % colors.length]);
}
// 显示图表
ChartFrame frame = new ChartFrame("Bar Chart Example", chart);
frame.pack();
frame.setVisible(true);
}
}
在上面的示例代码中,我们首先生成了三组数据,并将它们添加到DefaultCategoryDataset对象中。然后,我们使用ChartFactory.createBarChart()方法创建了一个柱状图。接着,我们遍历了每个系列(即每个组),并为它们设置了不同的颜色。最后,我们使用ChartFrame类将图表显示在窗口中。
需要注意的是,上述示例代码中使用了JFreeChart库,因此在运行前需要先下载并导入该库。
原文地址: http://www.cveoy.top/t/topic/bS3y 著作权归作者所有。请勿转载和采集!