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!!!