如何将数据以柱状图的形式显示出来?
实现过程:
1、获取数据;
2、根据工厂模式生成图形对象,通过获取该图形对象,来进一步获得该图形对象内部的小对象,并对它们的字体等进行设置;
3、将图形放到面板中;
4、构建一个方法,将放置了图形的面板返回出去,当需要使用该面板时只需调用该方法即可(封装);
5、创建一个窗体,将面板放到该窗体中进行显示;
柱形图比饼状图复杂,生成的图标数据需要有两个维度。两个维度从数据集的生成角度可以按照类别分为数据集(DefaultCategoryDataset )和XY分的数据集(XYDataset)两种。
使用DefaultCategoryDataset数据集绘制柱形图
BarChartServlet.java
import java.awt.Font;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
/**
* @author lmb
*报表图形实现类
*/
public class BarChartServlet {
//用于获取数据
private static CategoryDataset getDataset(){
DefaultCategoryDataset dataset=new DefaultCategoryDataset();//创建数据集对象
//往数据集对象中添加数据(实际应用中是从数据库,Excel文件或者文本文件中获取数据,这里为了方便起见将数据直接给出)
//-------------------------------苹果的销售记录
dataset.addValue(100,"北京","苹果");//数据值,X轴,Y轴
dataset.addValue(150,"深圳","苹果");
dataset.addValue(80,"广州","苹果");
//-------------------------------橘子的销售记录
dataset.addValue(120,"北京","梨子");
dataset.addValue(110,"深圳","梨子");
dataset.addValue(170,