JFreeChart - Gráfico de Linha

0 respostas
J

Dae galera!! Eu to fazendo uns exemplos usando o JFreeChart, achei alguns fontes na net que me ajudaram bastante, mas o gráfico de linha não está saindo de jeito nenhum, eu fiz testes com graficos de barras e pizza usando a mesma fonte de informação que eu usei no de linha, só que ele mostra todo o gráfico, mas não o gráfico em si, ou sej, não aparecem as linhas!!
O engraçado que usando essa classe que popula um vector com valores nos outros gráficos, ele funciona!! Deve tá faltando alguma propriedade que eu não setei para o gráfico de linha!!!

public static String generateLineChartHor( String data, HttpSession session) throws Exception {
        String filename = null;
        try {
            
            DefaultCategoryDataset pieData = new DefaultCategoryDataset();
            LivrariaDataSet livDataSet = new LivrariaDataSet();
            Vector vetValues = livDataSet.getLivrariaByData(data);
            // Criar um PieDataset que recebe o "correspondente" e sua porcentagem.
            for (int i = 0; i < vetValues.size(); i++) {
                LivrariaVO livVo = (LivrariaVO) vetValues.get(i);
                pieData.addValue(livVo.getQuantidade(),
                        livVo.getProduto(), livVo.getMes().substring(0, 3));
                
            }
            
            JFreeChart chart = ChartFactory.createLineChart(data, "Um",        
                    "Dois", pieData, PlotOrientation.VERTICAL,
                    
                    true, false, false);
            
            chart.setBorderVisible(true);
            chart.setBorderPaint(Color.black);
                        
            // Escrever o chart para um diretório temporário
            ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
            filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
            
        } catch (Exception e) {
            
            throw new Exception(e);
            
        }
        return filename;
    }
/*
 * LivrariaDataSet.java
 *
 * Created on 31 de Janeiro de 2007, 14:22
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.haltso.model;
import java.util.ArrayList;
import java.util.Vector;
/**
 *
 * @author Administrador
 */
public class LivrariaDataSet {
    
    protected Vector vetLivraria = new Vector();
    public LivrariaDataSet(){
        vetLivraria.add(new LivrariaVO("JANEIRO","Livros",3058));
        vetLivraria.add(new LivrariaVO("FEVEREIRO","Livros",2005));
        vetLivraria.add(new LivrariaVO("MARCO","Livros",4058));
        vetLivraria.add(new LivrariaVO("ABRIL","Livros",1000));
        vetLivraria.add(new LivrariaVO("MAIO","Livros",2500));
        vetLivraria.add(new LivrariaVO("JUNHO","Livros",3585));
        vetLivraria.add(new LivrariaVO("JULHO","Livros",1781));
        vetLivraria.add(new LivrariaVO("AGOSTO","Livros",1258));
        vetLivraria.add(new LivrariaVO("SETEMBRO","Livros",1588));
        vetLivraria.add(new LivrariaVO("OUTUBRO","Livros",2487));
        vetLivraria.add(new LivrariaVO("NOVEMBRO","Livros",3000));
        vetLivraria.add(new LivrariaVO("DEZEMBRO","Livros",1587));
        vetLivraria.add(new LivrariaVO("JANEIRO","CD",1898));
        vetLivraria.add(new LivrariaVO("FEVEREIRO","CD",3058));
        
        vetLivraria.add(new LivrariaVO("MARCO","CD",2584));
        vetLivraria.add(new LivrariaVO("ABRIL","CD",2157));
        vetLivraria.add(new LivrariaVO("MAIO","CD",3108));
        vetLivraria.add(new LivrariaVO("JUNHO","CD",1580));
        vetLivraria.add(new LivrariaVO("JULHO","CD",3897));
        vetLivraria.add(new LivrariaVO("AGOSTO","CD",3587));
        vetLivraria.add(new LivrariaVO("SETEMBRO","CD",2165));
        vetLivraria.add(new LivrariaVO("OUTUBRO","CD",10088));
        vetLivraria.add(new LivrariaVO("NOVEMBRO","CD",1000));
        vetLivraria.add(new LivrariaVO("DEZEMBRO","CD",2571));
        vetLivraria.add(new LivrariaVO("JANEIRO","DVD",1358));
        vetLivraria.add(new LivrariaVO("FEVEREIRO","DVD",2547));
        vetLivraria.add(new LivrariaVO("MARCO","DVD",3058));
        vetLivraria.add(new LivrariaVO("ABRIL","DVD",1220));
        vetLivraria.add(new LivrariaVO("MAIO","DVD",1325));
        vetLivraria.add(new LivrariaVO("JUNHO","DVD",2058));
        vetLivraria.add(new LivrariaVO("JULHO","DVD",3025));
        vetLivraria.add(new LivrariaVO("AGOSTO","DVD",10258));
        vetLivraria.add(new LivrariaVO("SETEMBRO","DVD",2135));
        vetLivraria.add(new LivrariaVO("OUTUBRO","DVD",1000));
        vetLivraria.add(new LivrariaVO("NOVEMBRO","DVD",1058));
        vetLivraria.add(new LivrariaVO("DEZEMBRO","DVD",4008));
        vetLivraria.add(new LivrariaVO("JANEIRO","Outros",2115));
        vetLivraria.add(new LivrariaVO("FEVEREIRO","Outros",1258));
        vetLivraria.add(new LivrariaVO("MARCO","Outros",2158));
        vetLivraria.add(new LivrariaVO("ABRIL","Outros",2588));
        vetLivraria.add(new LivrariaVO("MAIO","Outros",3005));
        vetLivraria.add(new LivrariaVO("JUNHO","Outros",3824));
        vetLivraria.add(new LivrariaVO("JULHO","Outros",1358));
        vetLivraria.add(new LivrariaVO("AGOSTO","Outros",1232));
        vetLivraria.add(new LivrariaVO("SETEMBRO","Outros",2005));
        vetLivraria.add(new LivrariaVO("OUTUBRO","Outros",2178));
        vetLivraria.add(new LivrariaVO("NOVEMBRO","Outros",2157));
        vetLivraria.add(new LivrariaVO("DEZEMBRO","Outros",1788));
    }
    /**
     * Retornar os meses
     *
     * @return ArrayList Meses
     */
    public static ArrayList getMeses(){
        ArrayList meses = new ArrayList();
        meses.add("JANEIRO");
        meses.add("FEVEREIRO");
        meses.add("MARCO");
        meses.add("ABRIL");
        meses.add("MAIO");
        meses.add("JUNHO");
        meses.add("JULHO");
        meses.add("AGOSTO");
        meses.add("SETEMBRO");
        meses.add("OUTUBRO");
        meses.add("NOVEMBRO");
        meses.add("DEZEMBRO");
        
        return meses;
    }
    /**
     * Retornar um vetor filtrando pelo mês selecionado
     *
     * @param data Mês escolhido para geração do gráfico
     * @return Vector Vetor com objetos do tipo LivrariaVO
     */
    public Vector getLivrariaByData(String data){
        Vector retorno = new Vector();
        for (int i = 0; i < this.vetLivraria.size(); i++) {
            LivrariaVO livVo = (LivrariaVO) this.vetLivraria.get(i);
            if (livVo.getMes().equals(data)) {
                retorno.add(livVo);
            }
        }
        return retorno;
    }
    /**
     * @return Returns the vetLivraria.
     */
    public Vector getVetLivraria() {
        return vetLivraria;
    }
    /**
     * @param vetLivraria The vetLivraria to set.
     */
    public void setVetLivraria(Vector vetLivraria) {
        this.vetLivraria = vetLivraria;
    }
    
}
/*
 * LivrariaVO.java
 *
 * Created on 31 de Janeiro de 2007, 14:21
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.haltso.model;

/**
 *
 * @author Administrador
 */
public class LivrariaVO {
   
    private String mes = null;
    private String produto = null;
    private int quantidade = 0;
    /**
     * @param mes
     * @param produto
     * @param quantidade
     */
    public LivrariaVO(String sMes, String sProduto, int intQuantidade) {
        this.mes = sMes;
        this.produto = sProduto;
        this.quantidade = intQuantidade;
    }
    /**
     * @return Returns the mes.
     */
    public String getMes() {
        return mes;
    }
    /**
     * @param mes The mes to set.
     */
    public void setMes(String mes) {
        this.mes = mes;
    }
    /**
     * @return Returns the produto.
     */
    public String getProduto() {
        return produto;
    }
    /**
     * @param produto The produto to set.
     */
    public void setProduto(String produto) {
        this.produto = produto;
    }
    /**
     * @return Returns the quantidade.
     */
    public int getQuantidade() {
        return quantidade;
    }
    /**
     * @param quantidade The quantidade to set.
     */
    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }
    
}

Valeu galera!!
Fiquem com Deus!!!

Criado 1 de março de 2007
Respostas 0
Participantes 1