Example usage for org.jfree.chart ChartFrame setVisible

List of usage examples for org.jfree.chart ChartFrame setVisible

Introduction

In this page you can find the example usage for org.jfree.chart ChartFrame setVisible.

Prototype

public void setVisible(boolean b) 

Source Link

Document

Shows or hides this Window depending on the value of parameter b .

Usage

From source file:UserInterface.PowerStationAdminRole.ReviewPerformanceJPanel.java

private void chartJButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chartJButtonActionPerformed
    // TODO add your handling code here:

    DefaultPieDataset d = new DefaultPieDataset();
    Collections.sort(organization.getElectricityDirectory().getElecCatalog());
    for (Electricity v : organization.getElectricityDirectory().getElecCatalog()) {

        d.setValue(v.getElectricitySource(), v.getSoldQuantity());

        JFreeChart chart = ChartFactory.createPieChart("Pie Chart", d, true, true, true);
        PiePlot p = (PiePlot) chart.getPlot();
        ChartFrame frame = new ChartFrame("Pie Chart", chart);
        frame.setVisible(true);
        frame.setSize(450, 500);//from   w  w w .  java2  s  .com

        //         DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        //        int i=0;
        //       for(Electricity v : organization.getElectricityDirectory().getElecCatalog()){
        //           //  for(Order o : enterprise.getMasterOrderCatalog().getOrderCatalog()){
        //           for(OrderItem oi : organization.getOrder().getOrderItemList()){
        //        
        //      //  for(OrderItem oi : o.getOrderItemList()){
        //            if(oi.getElectricity().getElectricitySource().equals(v.getElectricitySource()))
        //            {
        //            i++;
        //            
        //        int totalSales = oi.getSalesPrice();
        //           topSalesAmountJTextField.getText();
        //            
        //            
        //            dataset.setValue(totalSales,"Values","product"+i);
        //            }
        //      
        //            
        //        JFreeChart chart = ChartFactory.createLineChart("Parameter values","Total Sales","Values",dataset);
        //        chart.setBackgroundPaint(Color.white);
        //        chart.getTitle().setPaint(Color.red);
        //        CategoryPlot a = chart.getCategoryPlot();
        //        a.setRangeGridlinePaint(Color.blue);
        //        ChartFrame frame = new ChartFrame("Line Chart For Parameters",chart);
        //        frame.setVisible(true);
        //        frame.setSize(450,350);
        //            

    }

}

From source file:tusys.view.jPanelStatistik.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    jenis_kegiatan = jComboBox1.getSelectedItem().toString();

    System.out.println(jenis_kegiatan);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    try {/*from   w ww .ja  v a 2 s .c o  m*/
        tanggal_mulai = new java.sql.Date(sdf.parse(jTextFieldTanggalMulai.getText()).getTime());
        tanggal_selesai = new java.sql.Date(sdf.parse(jTextFieldTanggalSelesai.getText()).getTime());
        if (tanggal_mulai.after(tanggal_selesai)) {
            JOptionPane.showMessageDialog(null, "tanggal mulai harus sebelum tanggal selesai");
            return;
        }
    } catch (ParseException ex) {
        JOptionPane.showMessageDialog(null, "Format tanggal masukan salah");
        return;
        //Logger.getLogger(jPanelStatistik.class.getName()).log(Level.SEVERE, null, ex);
    }

    if (jenis_kegiatan.equals("Semua")) {
        try {
            stat = mainMenu.getDbc().getAllStatistic(tanggal_mulai, tanggal_selesai);
        } catch (SQLException ex) {
            Logger.getLogger(jPanelStatistik.class.getName()).log(Level.SEVERE, null, ex);
        }
    } else {
        try {
            stat = mainMenu.getDbc().getStatistic(jenis_kegiatan, (tanggal_mulai), (tanggal_selesai));
        } catch (SQLException ex) {
            Logger.getLogger(jPanelStatistik.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    for (int i = 0; i < stat.getRuangan().size(); i++) {
        dataset.setValue(stat.getFrekuensi().get(i), "Frekuensi", stat.getRuangan().get(i));
    }

    JFreeChart chart = ChartFactory.createBarChart("Statistik Penggunaan Ruangan", "Ruangan", "Frekuensi",
            dataset, PlotOrientation.VERTICAL, false, true, false);
    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.BLACK);
    ValueAxis yAxis = chart.getCategoryPlot().getRangeAxis();
    yAxis.setRange(0.0, 100.0);
    p.setRangeAxis(yAxis);

    ChartFrame frame = new ChartFrame("Statistik", chart);
    frame.setVisible(true);
    frame.setLocation(500, 200);
    frame.setSize(565, 410);

    /*
    //masih ga keluar gambarnya
    ChartPanel cp = new ChartPanel(chart);
    jPanel1.removeAll();
    jPanel1.add(cp,BorderLayout.CENTER);
    jPanel1.revalidate();
    mainMenu.getjPanelData1().add(jPanel1);
        */

}

From source file:UserInterface.ControlManagerRole.ControlManagerWorkAreaJPanel.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    // TODO add your handling code here:
    int co2Level = 0;
    int noxLevel = 0;
    int comboBoston = 0;

    int co2Level1 = 0;
    int noxLevel1 = 0;
    int comboNewYork = 0;

    for (Network network : system.getNetworkList()) {
        if (network.getName().equalsIgnoreCase("boston")) {

            for (Customer customer : network.getCustomerDirectory().getCustomerDirectory()) {
                for (Sensor sensor : customer.getSensorDirectory().getSensorDirectory()) {
                    co2Level += sensor.getCurrentEmissionCO2();
                    noxLevel += sensor.getCurrentEmissionNOx();
                }/* w w  w .j a va 2 s .  c o  m*/
            }

        }

    }
    comboBoston = co2Level + noxLevel;

    for (Network network : system.getNetworkList()) {
        if (network.getName().equalsIgnoreCase("New York")) {

            for (Customer customer : network.getCustomerDirectory().getCustomerDirectory()) {
                for (Sensor sensor : customer.getSensorDirectory().getSensorDirectory()) {
                    co2Level1 += sensor.getCurrentEmissionCO2();
                    noxLevel1 += sensor.getCurrentEmissionNOx();
                }

            }

        }
    }
    comboNewYork = co2Level1 + noxLevel1;

    DefaultPieDataset dataset22 = new DefaultPieDataset();
    dataset22.setValue("Fuel Emission by Boston", new Integer(comboBoston));
    dataset22.setValue("Fuel Emission by New York ", new Integer(comboNewYork));

    JFreeChart chart22 = ChartFactory.createPieChart3D("Comparison Chart ", // chart title                   
            dataset22, // data 
            true, // include legend                   
            true, false);

    final PiePlot3D plot = (PiePlot3D) chart22.getPlot();
    plot.setStartAngle(270);
    plot.setForegroundAlpha(0.60f);
    plot.setInteriorGap(0.02);

    ChartFrame frame33 = new ChartFrame("3D Pie Chart for EMission Comparisonbetween two networks", chart22);
    frame33.setVisible(true);
    frame33.setSize(500, 400);

}

From source file:org.activequant.tradesystem.system.integration.VolatilityCharterTradeSystem.java

private CandlestickChart chartIt(CandleSeries tempSeries) {
    // simply chart it. 
    CandlestickChart chart = new CandlestickChart();
    chart.setCandleSeries(tempSeries);/*from  w w w. ja  v a  2s  .  c o m*/
    ChartFrame cf = new ChartFrame("" + tempSeries.getSeriesSpecification().toString(), chart.getChart());
    cf.setBounds(window * 400, 0, 400, 300);
    cf.setVisible(true);
    charts.add(cf);
    window++;
    return chart;
}

From source file:snackbar2.FacuramentoReport.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    // TODO add your handling code here:
    String m = "1";
    for (int i = 2; i < 32; i++) {
        m += "," + i;

    }// w  ww .  j ava 2  s  .c om
    String range = "";
    String x = "";
    String y = "Valor";
    String[] dias = m.split(",");
    String[] dias_semana = { "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom" };
    String[] meses = "Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ag,Set,Out,Nov,Dez".split(",");

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    JFreeChart chart = null;
    //se seleccionar semana
    if (jComboBox1.getSelectedIndex() == 1) {
        for (int i = 0; i < 7; i++) {
            dataset.setValue(50 + i, "Valor", dias_semana[i]);

        }
        x = "semana";
        chart = ChartFactory.createBarChart("Total facturado durante a semana " + range, x, y, dataset,
                PlotOrientation.VERTICAL, false, true, false);
    }
    //se seleccionar mes
    else if (jComboBox1.getSelectedIndex() == 2) {
        for (int i = 0; i < 31; i++) {
            dataset.setValue(50 + i, "Valor", dias[i]);

        }
        x = "diss";
        chart = ChartFactory.createBarChart("Total facturado durante o corrente ms " + range, x, y, dataset,
                PlotOrientation.VERTICAL, false, true, false);

    }
    //seleccionar ano
    else if (jComboBox1.getSelectedIndex() == 3) {
        for (int i = 0; i < 12; i++) {
            dataset.setValue(50 + i, "Valor", meses[i]);

        }
        x = "ano";
        chart = ChartFactory.createBarChart("Total facturado durante o corrente ano " + range, x, y, dataset,
                PlotOrientation.VERTICAL, false, true, false);
    }
    //otherwise
    else {
        return;
    }

    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.BLACK);
    ChartFrame frame = new ChartFrame("Grfico de vendas de pratos", chart);
    frame.setVisible(true);
    frame.setSize(600, 600);
}

From source file:com.main.Welcome.java

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
    try {/*from w  w  w  .  java 2  s. co  m*/
        String sql2 = "Select patient_name,reason,COUNT(*) FROM patient_visit_information WHERE reason='LUNG CANCER' OR reason ='HEART ATTACK' OR reason ='ASTHMA' OR reason ='HIGH BP' GROUP BY patient_name,reason";
        ps2 = con.prepareStatement(sql2);
        rs2 = ps2.executeQuery();
        JDBCCategoryDataset dataset = new JDBCCategoryDataset(MysqlConnect.ConnectDB(), sql2);
        //          JFreeChart chart= ChartFactory.createLineChart("Quey chart","patient_name", "reason", dataset, PlotOrientation.VERTICAL,false,true,true);
        //           BarRenderer rener = null;
        //           CategoryPlot plot = null;
        //           rener = new BarRenderer();
        JFreeChart chart = ChartFactory.createBarChart("count(*)", "patient_name", "reason", dataset,
                PlotOrientation.VERTICAL, false, true, true);
        CategoryPlot p = chart.getCategoryPlot();
        p.setRangeGridlinePaint(Color.black);
        ChartFrame fra = new ChartFrame("Analytics Report", chart);
        fra.setVisible(true);
        fra.setSize(400, 650);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

}

From source file:Interface.CommunityAdminWorkArea.BestRestaurant.java

private void btnCalculateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCalculateActionPerformed
    // TODO add your handling code here:

    Date toDate1 = jDateChooser1.getDate();
    Date toDate2 = jDateChooser2.getDate();
    if ((toDate1 == null) || (toDate2 == null)) {
        JOptionPane.showMessageDialog(null, "Invalid date..Kindly enter valid date.");
        return;// w  ww  . j a v  a2  s.  c  om
    }

    long fromDate = (jDateChooser1.getDate().getTime()) / (1000 * 60 * 60 * 24);
    long toDate = (jDateChooser2.getDate().getTime()) / (1000 * 60 * 60 * 24);
    //String citizenRewards = null;
    ArrayList<RestaurantEmployee> restaurantEmployeeList = new ArrayList<>();

    for (WorkRequest request : organization.getWorkQueue().getWorkRequestList()) {

        long requestDate = (request.getRequestDate().getTime()) / (1000 * 60 * 60 * 24);

        if ((requestDate >= fromDate) && (requestDate <= toDate)) {

            Employee ee = request.getSender().getEmployee();
            if (ee instanceof RestaurantEmployee) {
                RestaurantEmployee c = (RestaurantEmployee) ee;
                if (!restaurantEmployeeList.contains(c)) {
                    c.calculateTotalRewardPointsForCitizen();
                    restaurantEmployeeList.add(c);
                }
            }
        }
        //            else{
        //
        //                JOptionPane.showMessageDialog(null, "There are no records for this search criteria.");
        //            }

    }

    if (restaurantEmployeeList.isEmpty()) {
        JOptionPane.showMessageDialog(null, "There are no records for this search criteria.");
    }

    ArrayList<RestaurantEmployee> restaurantEmployee = calculateTopThreeRestaurantByRewardPoints(
            restaurantEmployeeList);

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.setValue(restaurantEmployee.get(0).getCurrentRewardPoints(), "Commercial body",
            restaurantEmployee.get(0).getName());
    dataset.setValue(restaurantEmployee.get(1).getCurrentRewardPoints(), "Commercial body",
            restaurantEmployee.get(1).getName());
    dataset.setValue(restaurantEmployee.get(2).getCurrentRewardPoints(), "Commercial body",
            restaurantEmployee.get(2).getName());

    JFreeChart chart = ChartFactory.createBarChart3D("Types of food collected", "Top 3 Restaurant",
            "Number of reward points", dataset, PlotOrientation.VERTICAL, false, true, false);
    CategoryPlot plot = chart.getCategoryPlot();
    plot.setRangeGridlinePaint(Color.BLUE);
    ChartFrame frame = new ChartFrame("Bar Chart for best Restaurant", chart);
    frame.setVisible(true);
    frame.setSize(450, 350);
}

From source file:snackbar2.PratoReport.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    // TODO add your handling code here:
    String m = "1";
    for (int i = 2; i < 32; i++) {
        m += "," + i;

    }/*  w  w w.  ja v  a2  s.  c om*/
    String range = "";
    String x = "";
    String y = "quantidade";
    String[] dias = m.split(",");
    String[] dias_semana = { "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom" };
    String[] meses = "Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ag,Set,Out,Nov,Dez".split(",");

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    JFreeChart chart = null;
    //se seleccionar semana
    if (jComboBox1.getSelectedIndex() == 1) {
        for (int i = 0; i < 7; i++) {
            dataset.setValue(listas.nrPratosVendidosSemana(i), "Quantidade", dias_semana[i]);

        }
        x = "semana";
        chart = ChartFactory.createBarChart("Quantidade de pratos vendidos durante a semana " + range, x, y,
                dataset, PlotOrientation.VERTICAL, false, true, false);
    }
    //se seleccionar mes
    else if (jComboBox1.getSelectedIndex() == 2) {
        for (int i = 0; i < listas.nrDaysOfMonth(new Date()); i++) {
            dataset.setValue(listas.nrPratosVendidosMes(i), "Quantidade", i + 1);

        }
        x = "diss";
        chart = ChartFactory.createBarChart("Quantidade de pratos vendidos durante o corrente mes " + range,
                x, y, dataset, PlotOrientation.VERTICAL, false, true, false);

    }
    //seleccionar ano
    else if (jComboBox1.getSelectedIndex() == 3) {
        for (int i = 0; i < 12; i++) {
            dataset.setValue(50 + i, "Quantidade", meses[i]);

        }
        x = "ano";
        chart = ChartFactory.createBarChart("Quantidade de pratos vendidos durante o corrente ano " + range, x,
                y, dataset, PlotOrientation.VERTICAL, false, true, false);
    }
    //otherwise
    else {
        return;
    }

    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.BLACK);
    ChartFrame frame = new ChartFrame("Grfico de vendas de pratos", chart);
    frame.setVisible(true);
    frame.setSize(800, 600);

}

From source file:teambootje.A9.java

/**
 * Creates new form A9/*from   www  .  ja va  2s.  c  o  m*/
 */
public A9() {
    initComponents();
    setLocationRelativeTo(null);
    setLayout(new BorderLayout());

    //Create and set up the window.
    setTitle("SS Rotterdam Analyse || Analyse 9");
    ImageIcon icon = new ImageIcon("img/bootje.jpg");
    setIconImage(icon.getImage());

    // back BTN
    JButton back = new JButton("Back");
    add(back, BorderLayout.NORTH);

    back.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
            // throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    });

    // panel en Label
    JPanel ana = new JPanel();
    add(ana, BorderLayout.CENTER);

    //tabel
    String sql = "SELECT persoon.Name, COUNT(post) AS Aantal FROM persoon, posts WHERE persoon.AID = posts.AID GROUP BY persoon.Name";
    List<Object[]> list = new ArrayList<Object[]>();
    ResultSet rs = null;
    try {
        rs = db.runSql(sql);
        while (rs.next()) {
            String name = rs.getString("persoon.Name");
            int amount = rs.getInt("Aantal");
            String[] row = new String[rs.getMetaData().getColumnCount()];
            for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                row[i - 1] = rs.getString(i);
            }
            list.add(row);

            //chart
            JButton chart = new JButton("Chart");
            add(chart, BorderLayout.SOUTH);

            chart.addActionListener(new ActionListener() {
                String n1 = name;
                int a1 = amount;

                @Override
                public void actionPerformed(ActionEvent e) {
                    DefaultPieDataset pieDataset = new DefaultPieDataset();
                    pieDataset.setValue(n1, a1);
                    pieDataset.setValue("WestCordHotels", new Integer(1));
                    pieDataset.setValue("Voetbalr", new Integer(2));
                    pieDataset.setValue("VeraBauman", new Integer(1));
                    pieDataset.setValue("TonWesselink", new Integer(2));
                    pieDataset.setValue("Stoomschip Rotterdam", new Integer(25));
                    pieDataset.setValue("shirleys86", new Integer(2));
                    pieDataset.setValue("SevereWeather_N", new Integer(2));
                    pieDataset.setValue("SalvatoreOrtisi", new Integer(4));
                    pieDataset.setValue("RuudvEck", new Integer(2));
                    pieDataset.setValue("RuudvandenBos", new Integer(1));
                    pieDataset.setValue("Roffa85", new Integer(1));
                    pieDataset.setValue("RichardPh0t0", new Integer(2));
                    pieDataset.setValue("RebekkaKadijk", new Integer(2));
                    pieDataset.setValue("ray_rademaker", new Integer(6));
                    pieDataset.setValue("PoushNL", new Integer(1));
                    pieDataset.setValue("popupsquare", new Integer(2));
                    pieDataset.setValue("Plan_78", new Integer(3));
                    pieDataset.setValue("Petrahoogenboom", new Integer(1));
                    pieDataset.setValue("PatriciaBenard", new Integer(2));
                    pieDataset.setValue("OVKatendrecht", new Integer(2));
                    pieDataset.setValue("OdileHemmen", new Integer(2));
                    pieDataset.setValue("NLMaritiem", new Integer(2));
                    pieDataset.setValue("Nellyvdvlies", new Integer(1));
                    pieDataset.setValue("meerkatting", new Integer(2));
                    pieDataset.setValue("MeerkatsNow", new Integer(2));
                    pieDataset.setValue("marygoossens1", new Integer(1));
                    pieDataset.setValue("MarjoleinNagel", new Integer(1));
                    pieDataset.setValue("MaaikeMaasdijk", new Integer(1));
                    pieDataset.setValue("KidsErOpUit", new Integer(2));
                    pieDataset.setValue("Katendrechtnr1", new Integer(25));
                    pieDataset.setValue("jpsoree", new Integer(2));
                    pieDataset.setValue("JolandaBolscher", new Integer(2));
                    pieDataset.setValue("jes4life", new Integer(1));
                    pieDataset.setValue("JaccoScheer", new Integer(1));
                    pieDataset.setValue("GwNpop", new Integer(2));
                    pieDataset.setValue("Gerarddegraaff", new Integer(1));
                    pieDataset.setValue("FR12Patrick", new Integer(3));
                    pieDataset.setValue("FlorentinaNow", new Integer(1));
                    pieDataset.setValue("FIVBWorldChamps", new Integer(2));
                    pieDataset.setValue("FIVBVolleyball", new Integer(2));
                    pieDataset.setValue("FeestdjNik", new Integer(1));
                    pieDataset.setValue("ensanne", new Integer(1));
                    pieDataset.setValue("elsekramer", new Integer(1));
                    pieDataset.setValue("EelcoBeijl", new Integer(1));
                    pieDataset.setValue("EdwindeKoning1", new Integer(2));
                    pieDataset.setValue("DMiddelman", new Integer(3));
                    pieDataset.setValue("de_rotterdam", new Integer(2));
                    pieDataset.setValue("CvanAdrighem", new Integer(2));
                    pieDataset.setValue("carolinedejager", new Integer(1));
                    pieDataset.setValue("CaatVanEnst", new Integer(1));
                    pieDataset.setValue("BotlekBusiness", new Integer(2));
                    pieDataset.setValue("AnneWallisDeVri", new Integer(2));
                    pieDataset.setValue("010byday", new Integer(4));
                    JFreeChart chart = ChartFactory.createPieChart3D("Aantal posts per personen", pieDataset,
                            true, true, true);
                    PiePlot3D p = (PiePlot3D) chart.getPlot();
                    //p.setForegroundAlpha(TOP_ALIGNMENT);
                    ChartFrame pie = new ChartFrame("Aantal posts per personen", chart);
                    pie.setVisible(true);
                    pie.setSize(500, 500);
                    pie.setLocationRelativeTo(null);

                    //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                }
            });
        }
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    }

    Object[][] array = new Object[list.size()][];
    Object columnNames[] = { "Naam", "Aantal" };
    list.toArray(array);

    JTable table = new JTable(array, columnNames);
    JScrollPane scroll = new JScrollPane(table);
    scroll.setPreferredSize(new Dimension(400, 400));
    ana.add(scroll);

}

From source file:UserInterface.CustomerRole.ViewProfileJPanel.java

private void purchasingBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_purchasingBtnActionPerformed
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    String series1 = "Purchases";

    for (Order o : network.getMasterOrderCatalog().getOrderCatalog()) {
        if (o.getBuyer().equals(account)) {
            for (OrderItem oi : o.getOrderItemList()) {
                dataset.addValue(oi.getQuantity(), series1, o.getDate());
            }/*ww w . j a  v  a 2s . co m*/
        }
    }
    String chartTitle = "Purchase History";
    String categoryAxisLabel = "TimeStamp";
    String valueAxisLabel = "Values";

    JFreeChart chart = ChartFactory.createLineChart(chartTitle, categoryAxisLabel, valueAxisLabel, dataset);
    chart.setBackgroundPaint(Color.white);
    chart.getTitle().setPaint(Color.BLACK);
    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.BLUE);
    ChartFrame frame = new ChartFrame("Graph of Purchase Habit", chart);
    frame.setVisible(true);
    frame.setSize(450, 350);
}