Meu firewall bloqueia arquivos com extensão PNG e os gráficos gerados no jFreeChart em formato JPEG não ficam bom.
É possível gerar gráficos em GIF no jFreeChart?
:?: :?: :?: :?: :?:
Meu firewall bloqueia arquivos com extensão PNG e os gráficos gerados no jFreeChart em formato JPEG não ficam bom.
É possível gerar gráficos em GIF no jFreeChart?
:?: :?: :?: :?: :?:
cara, muda o firewall. Estamos em 2009! png é muito melhor 
amigão estou precisando gerar gráficos em meu aplicativo…
será que poderia me passar um exemplo que você tem do jFreeChart?
não consegui achar nenhum fonte deles…
amigão estou precisando gerar gráficos em meu aplicativo...será que poderia me passar um exemplo que você tem do jFreeChart?
não consegui achar nenhum fonte deles...
Tá na mão. Segue abaixo o código e a forma da chamada.
Chamada:graphicWorkDay.createGraphic(response.getOutputStream());
import java.awt.Color;
import java.awt.Font;
import java.io.OutputStream;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.AxisLocation;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.DatasetRenderingOrder;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;
public class GraphicWorkDay {
private DefaultCategoryDataset bars = null;
private String desBar1;
private String desBar2;
private void createDataset() {
try {
bars = new DefaultCategoryDataset();
desBar1 = "Barra 1";
desBar2 = "Barra 2";
bars.addValue(5000, desBar1, "Jan-2009");
bars.addValue(7000, desBar2, "Jan-2009");
bars.addValue(10000, desBar1, "Fev-2009");
bars.addValue(12000, desBar2, "Fev-2009");
bars.addValue(9000, desBar1, "Mar-2009");
bars.addValue(8000, desBar2, "Mar-2009");
bars.addValue(12000, desBar1, "Abr-2009");
bars.addValue(7000, desBar2, "Abr-2009");
bars.addValue(7000, desBar1, "Mai-2009");
bars.addValue(12000, desBar2, "Mai-2009");
}
catch(Exception e) {
e.printStackTrace();
}
}
public void createGraphic(OutputStream os) {
this.createDataset();
/**
* Inicia o gráfico
**/
JFreeChart chart = ChartFactory.createBarChart3D("Título",
"Rodapé",
"Título Barra",
this.getBars(),
PlotOrientation.VERTICAL,
true,
false,
false);
chart.setBackgroundPaint(Color.white);
chart.addSubtitle( new TextTitle( "Subtítulo", new Font( null, Font.PLAIN, 14 ) ) );
/**
* Invoca o objeto com propriedades de plotagem do gráfico
*/
CategoryPlot categoryplot = chart.getCategoryPlot();
// Define a cor do fundo gráfico
categoryplot.setBackgroundPaint(new Color(215, 235, 255));
// Define a posição da legenda do eixo "X"
categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
// Define a visibilidade das linhas de Grid
categoryplot.setRangeGridlinesVisible(true);
/**
* Invoca objeto de plotagem do gráfico que:
* Controla as informações e posicionamento do eixo "X"
*/
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
// Define a orientação e o ângulo de impressão dos labels do eixo
categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
/**
* Invoca objeto de plotagem do gráfico que:
* Controla a renderizaçao dos itens do gráfico.
* No caso "Bars"
*/
CategoryItemRenderer categoryitemrenderer = categoryplot.getRenderer();
// Define a cor do primeiro item "0". A alteraçao reflete na legenda
categoryitemrenderer.setSeriesPaint(0, Color.cyan); //
// Define a cor do segundo item "1". A alteraçao reflete na legenda
categoryitemrenderer.setSeriesPaint(1, new Color(13, 255, 13));
/**
* Invoca objeto do controle de renderização que:
* Controla o efeito 3D das bars
*/
BarRenderer3D br = (BarRenderer3D) categoryitemrenderer;
// "0" define a barra completa, com os todos os lados do polígono
br.setItemMargin(0);
// Defina a posição das linhas no gráfico em relação as barras
categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
try {
ChartUtilities.writeChartAsPNG(os, chart, 740, 270);
}
catch (java.io.IOException exc) {
System.err.println("Error creating image!");
}
}
public DefaultCategoryDataset getBars() {
return bars;
}
public void setBars(DefaultCategoryDataset newBars) {
bars = newBars;
}
}