Estou com problema para popular um linechart do primefaces.
Bem o problema é que na hora de redenizar o gráfico ele seta todos no mesmo ponto e só traz o primeiro valor de x.
esse é o bean
package br.com.codigosfontes.mbean;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.primefaces.model.chart.CartesianChartModel;
import org.primefaces.model.chart.ChartSeries;
import br.com.codigosfontes.bo.ApfBO;
import br.com.codigosfontes.model.Apf;
@ManagedBean
@RequestScoped
public class ApfBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ApfBO apfbo;
private List<Apf> listarDados;
private CartesianChartModel graficoLinhaTransacao;
private CartesianChartModel graficoLinhaValores;
// construtor
public ApfBean() {
apfbo = new ApfBO();
listar();
}
public void gerarGraficoTransacao(){
graficoLinhaTransacao = new CartesianChartModel();
for (Apf apf : listarDados) {
ChartSeries transx = new ChartSeries();
transx.setLabel(apf.getData());
transx.set(apf.getData(),apf.getTransx());
//transx.set(apf.getData(), apf.getTransy());
graficoLinhaTransacao.addSeries(transx);
}
}
public void listar() {
try {
// recuperar todos os candidatos do banco
listarDados = apfbo.buscaTodos();
gerarGraficoTransacao();
} catch (Exception x) {
x.printStackTrace();
}
}
public List<Apf> getListarDados() {
return listarDados;
}
public void setListarDados(List<Apf> listarDados) {
this.listarDados = listarDados;
}
public CartesianChartModel getGraficoLinhaTransacao() {
return graficoLinhaTransacao;
}
public CartesianChartModel getGraficoLinhaValores() {
return graficoLinhaValores;
}
public void setGraficoLinhaTransacao(CartesianChartModel graficoLinhaTransacao) {
this.graficoLinhaTransacao = graficoLinhaTransacao;
}
public void setGraficoLinhaValores(CartesianChartModel graficoLinhaValores) {
this.graficoLinhaValores = graficoLinhaValores;
}
}
meu modelo
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "tb_apf1_copy")
public class Apf implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private int id;
private String Data;
private double Transx;
private double Transy;
private double Valorx;
private double Valory;
private double Acessox;
private double Acessoy;
private double Usuariosx;
private double Usuariosy;
public int getId() {
return id;
}
public String getData() {
return Data;
}
public double getTransx() {
return Transx;
}
public double getTransy() {
return Transy;
}
public double getValorx() {
return Valorx;
}
public double getValory() {
return Valory;
}
public double getAcessox() {
return Acessox;
}
public double getAcessoy() {
return Acessoy;
}
public double getUsuariosx() {
return Usuariosx;
}
public double getUsuariosy() {
return Usuariosy;
}
public void setId(int id) {
this.id = id;
}
public void setData(String data) {
Data = data;
}
public void setTransx(double transx) {
Transx = transx;
}
public void setTransy(double transy) {
Transy = transy;
}
public void setValorx(double valorx) {
Valorx = valorx;
}
public void setValory(double valory) {
Valory = valory;
}
public void setAcessox(double acessox) {
Acessox = acessox;
}
public void setAcessoy(double acessoy) {
Acessoy = acessoy;
}
public void setUsuariosx(double usuariosx) {
Usuariosx = usuariosx;
}
public void setUsuariosy(double usuariosy) {
Usuariosy = usuariosy;
}
}
minha página xhtml
<p:lineChart id="linear" value="#{apfBean.graficoLinhaTransacao}"
title="Transações" style="height:300px;width:1000px" minY="0" minX="0" legendPosition="e"/>
Desde já agradeço a ajuda.