Trocar Fontes, e cores no CeWolf

7 respostas
fcanjos

Boa tarde pessoal,

Estou utilizando o CeWolf para a geração de gráficos em uma aplicação, porém, não encontrei documentação sobre como personalizar as cores dos graficos (por exemplo, das colunas, linhas, etc) e as fontes (tipo de fonte, tamanho e cor).
Tem como?

Agradeço qualquer ajuda!
:slight_smile:

7 Respostas

danieldestro

Isso tem a ver com a plotagem do gráfico (JFreeChart) e não com o Cewofl em sí. Eu tava procurando no site do JFreeChart, mas não lembro onde tinha visto isso.

dark.wizzard

Quando eu usei o Cewolf, me lmbro que as cores eram automáticas… O que se pode mudar é o tipo de gráfico (pizza, coluna, etc), os ‘labels’ que aparecem no gráfico, entre outras coisas.

Eu achei um pouco confuso utilizar o Cewolf, mas ele faz bem o seu trabalho.

fcanjos
Consegui trocar as cores das sequencias da seguinte forma:
<jsp:useBean id="pageViews" class="usuario.PageViewCountData"/>
<jsp:useBean id="postProcessor" class="usuario.PostProcessor"/>

<cewolf:chart   id="line" 
    title="Previsão de Vendas" 
    type="verticalbar3d"     
    xaxislabel="Período"     
    yaxislabel="Vendas">
    
    <cewolf:data>
        <cewolf:producer id="pageViews"/>
    </cewolf:data>
    <cewolf:colorpaint color="#FFFFFF"/> 
    <cewolf:chartpostprocessor id="postProcessor"/>
</cewolf:chart>
<p>
<cewolf:img chartid="line" renderer="cewolf" width="400" height="300"/>
E na classe postProcessor:
package usuario;

import de.laures.cewolf.ChartPostProcessor;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.renderer.AbstractRenderer;
import org.jfree.data.Range;

import org.jfree.chart.plot.Plot;

import java.awt.Color;
import java.awt.Paint;
import java.io.Serializable;
import java.util.Map;
import java.lang.IllegalArgumentException;
public class PostProcessor implements ChartPostProcessor {
    
    public void processChart( Object chart, Map map ) {
        // Grabbing data from mo_viewer.jsp where the PostProcessor is created
        CategoryPlot plot = (CategoryPlot)((JFreeChart)chart).getPlot();
        
            
        /* COLOR CHANGES */
        AbstractRenderer renderer = (AbstractRenderer)plot.getRenderer();
        //String[] colorSet = {"#6699CC","#FFCC33","#CC6600","#336699", "#999999"};
        //String[] colorSet = {"#FF0000","#0000FF","#009900","#FF9900"};
        //String[] colorSet = {"#FF0000","#0000FF","#009900","#FF9900"};
        String[] colorSet = {"#009900","#FF8C00"};
        int n = colorSet.length;
        Paint[] colors = new Color[n];
        for( int i=0; i < n; i++ ) {
            String sColor = colorSet[i];
            if( sColor != null ) {
                colors[i] = Color.decode(sColor);
                renderer.setSeriesPaint( i, colors[i] );
            }
        }
    }
}
M

Pessoal, aproveitando o discussão sobre o cewolf…

Eu tenho um gráfico de linhas(line) e está funcionando bem, o que eu queria é colocar pontos nas intercessões do gráfico, geralmente é colocado um quadradinho nos pontos de quebra. Eu não sei como fazer isso com o Cewolf.

Agradeço qualquer ajuda.

danieldestro

Dá pra pegar o Plot do gráfico com CeWolf?

M

Não entendi daniel…

danieldestro

Pq programaticamente, você altera as propriedades do gráfico via classe Plot.
Assim ó:

Plot plot = chart.getPlot();

plot.algumMetodoDaClasse();

((PiePlot)plot).algumMetodoDaClassedePieChartPlot();
Criado 15 de março de 2005
Ultima resposta 30 de mar. de 2005
Respostas 7
Participantes 4