Java 使用jfreechart时,带有类别的条形图和每个类别应有不同的颜色
我想绘制不同类别的条形图。图表中的每个类别都应该用不同的颜色表示 下面是我的代码:Java 使用jfreechart时,带有类别的条形图和每个类别应有不同的颜色,java,jfreechart,bar-chart,Java,Jfreechart,Bar Chart,我想绘制不同类别的条形图。图表中的每个类别都应该用不同的颜色表示 下面是我的代码: JFreeChart chart = ChartFactory.createBarChart("Comparison between the average of 2 values", XAXIS_NAME, YAXIS_NAME, dataSet, PlotOrientation.VERTICAL, true, true, false);
JFreeChart chart =
ChartFactory.createBarChart("Comparison between the average of 2 values",
XAXIS_NAME, YAXIS_NAME, dataSet, PlotOrientation.VERTICAL, true, true,
false);
final CategoryPlot plot = chart.getCategoryPlot();
chart.setBackgroundPaint(Color.white);
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);
BarRenderer renderer=new BarRenderer();
System.out.print( "set the range axis to display integers only...");
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
System.out.print( "disable bar outlines...");
renderer = (BarRenderer) plot.getRenderer();
renderer.setDrawBarOutline(false);
renderer.setMaximumBarWidth(0.10);
System.out.print( "set up gradient paints for series...");
final GradientPaint gp0 = new GradientPaint(
0.0f, 0.0f, Color.blue,
0.0f, 0.0f, Color.lightGray
);
final GradientPaint gp1 = new GradientPaint(
0.0f, 0.0f, Color.green,
0.0f, 0.0f, Color.lightGray
);
renderer.setSeriesPaint(0, gp0);
renderer.setSeriesPaint(1, gp1);
看起来这个例子正是你想要的:或者,我找到了这个问题的解决方案。