生成柱状图
1)创建用于图形生成所要的数据集对象。
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
DefaultPieDataset类提供的setValue(data,rowKey,columnKey)方法,设置柱状图形显示的数据,其中:rowKey表示X轴数据,columnKey表示Y轴数据,data表示填充柱状图所要的实际数据。
2)创建图形对象。
JFreeChart chart = ChartFactory.createBarChart3D("标题", null,null,dataset,PlotOrientation.VERTICAL,,true,false,false);
createBarChart3D方法是ChartFactory工厂类里的一个方法,用于3D柱状图的生成,平面柱状图使用createBarChart方法创建,还有createStackedBarChart和createStackedBarChart3D方法可以创建叠加式的平面和3D柱状图。八个参数分别代表:图形的标题、X轴标题、Y轴标题、dataset就是CategoryDataset类的实例对象、柱形图显示形式、是否显示图例、测试未明、是否显示鼠标志向提示,其中柱形图显示形式有,PlotOrientation.VERTICAL表示垂直方式、PlotOrientation.HORIZONTAL表示水平方式。
3)设置图形显示的属性。
a) ValueAxis类,设置柱到图上下边的距离。实现方法是:
获取ValueAxis对象
ValueAxis rangeAxis = (ValueAxis)plot.getRangeAxis();
设置最高的一个柱与图片顶端的距离:
rangeAxis.setUpperMargin(0.15)
设置最低的一个柱与图片底端的距离:
rangeAxis.setLowerMargin(0.15)
b)BarRenderer类,设置图形上显示的数值。实现方法如下:
获取BarRenderer对象
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setBaseOutlinePaint(Color.BLACK);
设置 Wall 的颜色:
renderer.setWallPaint(Color.gray);
设置每个柱的颜色:
renderer.setSeriesPaint(0, new Color(0, 0, 255));
renderer.setSeriesPaint(1, new Color(0, 100, 255));
renderer.setSeriesPaint(2, Color.GREEN);
设置每个柱的 Outline 颜色
renderer.setSeriesOutlinePaint(0, Color.BLACK);
renderer.setSeriesOutlinePaint(1, Color.BLACK);
renderer.setSeriesOutlinePaint(2, Color.BLACK);
设置每个地区所包含的平行柱之间的距离
renderer.setItemMargin(0.1);
显示每个柱的数值,并修改该数值的字体属性
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setItemLabelFont(new Font("黑体",Font.PLAIN,12));
renderer.setItemLabelsVisible(true);












































































































































































































































简单数据运行结果如下:
简单数据平面柱状图 | 简单数据3D饼图 |
---|---|
组合数据运行结果如下:
组合数据平面柱状图 | 组合数据3D饼图 |
---|---|
使用createStackedBarChart3D方法创建叠加式的柱状图效果如下: