Não consigo gerar um gráfico Chart de Line no Primefaces

16/04/2013

2

Estou com um problema que está me tirando o sono, precisa jogar o resultado em um gráfico de linha e nada. Quando eu tento inserir dentro de um for não funciona. aí eu desabilita inserir fora do for mas valores digitados por min para teste funciona. E fiz um teste inseri dentro do for e depois fora, parece o que fica dentro do for não vale.
Já vi , esta trazendo os dados, mas não gera o gráfico
Ex:

if (this.resultadoFinal !=null){
insereDados();
System.out.println("Tamnho = " + listResultado.size());
}


grafico1D = new CartesianChartModel();
ChartSeries graf1D = new ChartSeries();
graf1D.setLabel("Gráfico");
for (int i = 0;i < listResultado.size();i++){
graf1D.set(i,listResultado.get(i));
System.out.println("registro = " + listResultado.get(i));
}
graf1D.set(11,0);
graf1D.set(12,100.0);
graf1D.set(33,100.0);
grafico1D.addSeries(graf1D);
Responder

Posts

16/04/2013

Jose Boas

Qual ferramenta além do primefaces para fazer gráficos com jsf eu posso usar ?
Responder

17/04/2013

Jose Boas

Consegui gerar o gráfico o jfreechart com os resultados mas na hora de carregar no p:dialog com uma p:graphicImage ele não atualiza, já tentei colocar para cache=false o p:graphicImage e nada.
Veja o código

Onde crio o arquivo .png
JFreeChart grafico = ChartFactory.createLineChart("Graph of Distribution of Temperature" ,"","",ds,
PlotOrientation.VERTICAL,true,true,false);
FacesContext context = FacesContext.getCurrentInstance();
String caminhoArquivo = context.getExternalContext().getRealPath("/resources/graficos");
String caminhoCompleto = caminhoArquivo+"/grafico.png";
System.out.append("Caminho = "+ caminhoCompleto);
CategoryPlot plot = (CategoryPlot) grafico.getPlot();
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
renderer.setBaseLinesVisible(true); //Sem linhas nos pontos
renderer.setBaseShapesVisible(true); //Exibe os icones
renderer.setDrawOutlines( true );
renderer.setUseOutlinePaint(true);
FileOutputStream arquivo = new FileOutputStream (caminhoCompleto);
ChartUtilities.writeChartAsPNG(arquivo, grafico, 550, 400);
arquivo.close();
Obs : para gravar esta ok

Agora aqui onde eu chamo o dialog
<p:column style="width:10px">
<f:facet name="header">#{msg.lista_1D_grafico}</f:facet>
<p:commandLink title="#{msg.lista_1D_gerar_grafico}" update=":imagem" action="#{graficoBean.createGrafico1DModel}" oncomplete="dlgGrafico1D.show()">
<h:graphicImage library="imagens" name="chart.png"/>
<f:setPropertyActionListener value="#" target="#{graficoBean.resultadoFinal}"/>
</p:commandLink>
</p:column>

Agora o p:dialog co imagem que não atualizar
<p:dialog id="Grafico1D" position="top" widgetVar="dlgGrafico1D" modal="true" resizable="false" width="600">
<p:graphicImage library="graficos" name="grafico.png" id="imagem" cache="false"/>
</p:dialog>
Responder

02/05/2013

Jose Boas

Consegui resolver abrindo em uma nova página.
Responder