isso ajuda
plot.setCircular(false);
:
isso ajuda
plot.setCircular(false);
:
[quote=Fernando Generoso da Rosa]alepenchel, tenta isso:
ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.INSIDE12,
TextAnchor.CENTER_RIGHT, TextAnchor.CENTER_RIGHT,
-Math.PI / 2.0);
renderer.setBasePositiveItemLabelPosition(p);
ItemLabelPosition p2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,
TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, -Math.PI / 2.0);
renderer.setPositiveItemLabelPositionFallback(p2);
Fernando[/quote]
Valew a dica Fernando…de umas ajustadas para o que eu queria.
agora ta funcionando que é uma blz.
PROBLEMA RESOLVIDO
Abraços.
Mas eu quero definir quantos graus eu quero ‘deitar’ a pizza. Tipo, 20 graus.
Cara,
Estou pra te dizer que não tem um método que faça isso. o que tu pode fazer para “melhorar” ou chegar perto é:
RectangleInsets ri = new RectangleInsets(100.0, 50.0, 100.0, 50.0);
plot.setInsets(ri);
Fernando
YAHOOO!!
Beleza. Mas a área de plotagem tá diminuindo. Como mantenho? rsrs.
O RectangleInsets provavelmente define a área de plotagem…
Aí tu teria que trabalhar de uma forma que ele alongasse o teu gráfico para dar a impressão de estar “deitado”, e também tivesse uma área de visualização boa…testa vários valores e tenta achar um padrão…hehehe
Fernando
Olá Pessoal.
Estou prescisando de outra ajuda…
Estou gerando um gráfico de linhas, e por default, a jfreechart gera os posntos do grafico no formato de quadrados.
Estou querendo modificar esse formato para circulos e tambem mudar a cor interna desses pontos.
No máximo consegui deixar transparente…
se alguem puder me ajudar.
exemplo de como kero deixar os pontos:
http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/renderer/category/LineAndShapeRenderer.html
Desde já agradecido pessoal.
vê se esse código te dá uma luz…
LineAndShapeRenderer renderer
= (LineAndShapeRenderer) plot.getRenderer();
renderer.setSeriesShape(2, ShapeUtilities.createDiamond(4.0f));
renderer.setUseFillPaint(true);
renderer.setBaseFillPaint(Color.WHITE);
Fernando
[quote=Fernando Generoso da Rosa]vê se esse código te dá uma luz…
LineAndShapeRenderer renderer
= (LineAndShapeRenderer) plot.getRenderer();
renderer.setSeriesShape(2, ShapeUtilities.createDiamond(4.0f));
renderer.setUseFillPaint(true);
renderer.setBaseFillPaint(Color.WHITE);
Fernando[/quote]
Valew Fernando…
pra mudar de formato os pontos eu não consegui…
mas foi d grande ajuda na mudança da cor…
Agradecido.
Abraços.
Esse código muda o shape para o formato de elipse:
renderer.setSeriesShape(0, new Ellipse2D.Double(-5.0, -5.0, 10.0, 10.0));
Fernando
[quote=Fernando Generoso da Rosa]Esse código muda o shape para o formato de elipse:
renderer.setSeriesShape(0, new Ellipse2D.Double(-5.0, -5.0, 10.0, 10.0));
Fernando[/quote]
Cara…tu é bom.
resolveu todos meu problemas.
mto obrigado msm…
tava fods procurando na net
achei alguns exemplos bons na net…
mas saum mto básicos.
Vlw novamente.
PROBLEMA RESOLVIDO
Boa tarde galera
Alguem teria um tutorial para essa API (JFreeChart), ou algum exemplo completo que usa ela?
Valeu
Quando vc faz o donwload da api, o arquivo zip já contém um demo (acho que tem um pacote demo).
Exemplo Pizza:
[code]import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class GraficoPizzaDemo extends ApplicationFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public GraficoPizzaDemo() {
super(null);
this.setTitle("Grafico de Pizza");
JPanel jpanel = PanelDemostracao();
jpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(jpanel);
}
private static PieDataset criaDadosGrafico() {
DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
defaultpiedataset.setValue("Conteúdo 1", 43.23D);
defaultpiedataset.setValue("Conteúdo 2", 10D);
defaultpiedataset.setValue("Conteúdo 3", 27.5D);
defaultpiedataset.setValue("Conteúdo 4", 17.5D);
defaultpiedataset.setValue("Conteúdo 5", 11D);
defaultpiedataset.setValue("Conteúdo 6", 19.39D);
return defaultpiedataset;
}
private static JFreeChart criaGrafico(PieDataset piedataset) {
JFreeChart jfreechart = ChartFactory.createPieChart(
"Gráfico Pizza Demo ", piedataset, true, true, false);
PiePlot plotagem = (PiePlot) jfreechart.getPlot();
plotagem.setLabelGenerator(new StandardPieSectionLabelGenerator(
"{0} ({2})"));// define porcentagem no gráfico
plotagem.setLabelBackgroundPaint(new Color(220, 220, 220));
return jfreechart;
}
public static JPanel PanelDemostracao() {
JFreeChart jfreechart = criaGrafico(criaDadosGrafico());
return new ChartPanel(jfreechart);
}
public static void main(String args[]) {
GraficoPizzaDemo demo = new GraficoPizzaDemo();
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}[/code]
Outro exemplo pode ser encontrado em:
[quote=Djonatah]Boa tarde galera
Alguem teria um tutorial para essa API (JFreeChart), ou algum exemplo completo que usa ela?
Valeu[/quote]
um tutorial completo sobre isso…ja to cansado d procura e nada.
mas…Esse site possui exemplos bons.
da uma olhada q pode t ajudar.
http://www.java2s.com/Code/Java/Chart/CatalogChart.htm
abraços.
Eu tenho mais uma pergunta,
Seria possivel gerar um PNG B&W?
(Eu criei um topico sobre isto, mas ainda não obtive resposta.)
Abraços,
E muito obrigado pelos exemplos
<><
Pra falar a verdade, nem o tutorial do jfreechart é “tão” completo assim…o que vale muito a pena são os exemplos. Vale cada centavo pago pela documentação.
Fernando
[quote=Djonatah]Eu tenho mais uma pergunta,
Seria possivel gerar um PNG B&W?
(Eu criei um topico sobre isto, mas ainda não obtive resposta.)
Abraços,
E muito obrigado pelos exemplos
<><[/quote]
tem como cria sim amigo…
segue um exemplo
try {
FileOutputStream fos = new FileOutputStream(name);
} catch (IOException e) {
e.printStackTrace();
}
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10, "Legenda", "0 horas");
dataset.addValue(20, "Legenda", "2 horas");
JFreeChart grafico = ChartFactory.createLineChart("", "Intervalo de Horas", "Acessos", dataset, PlotOrientation.VERTICAL, true, false, false);
ChartUtilities.writeChartAsPNG(fos, grafico, 500, 350); //linha que gera uma imagem do tipo PNG e salva em disco
System.out.println("Imagem gerada com sucesso.");
o exemplo acima salva a imagem na pasta da classe que está sendo executada.
abraços.
Boa tarde pessoal,
A partir dos examplos e de uma ampla procurada na documentacao, eu criei alguns charts.
Mas estou tendo um pequeno problema em um gráfico de barras. As barras estão desalinhadas quanto ao eixo mostrado no gráfico e rótulos em baixo dele. Eu não alterei nada em relação a isso (apenas a rotação das rótulos) então quer dizer que isso veio por default. Isso é um bug?
tem como corrigir?
Abracos e obrigado toda ajuda
<><
To precisando fazer a mesma coisa, so que para grafico de linhas e
Scatter.
tentei o que esta descrito aqui e nao funcionou, alguem teria um exemplo para grafico de linhas?
Não ta aparecendo os valores dentro da area dde plotagem do grafico de linha.