Graficos con jfreechart
    
		    Hola a todos:
Estoy utilizando el paquete jfreeChart y me salen las graficas que yo quiero. Hasta aqui bien. Pero algunas graficas me salen "raras", me explico. Si yo pongo 3 valores en el eje de las X, la grafica me sale con 5 valores, se repiten valores. Existe un número mÃnimo de valores a dibujar? Os ha pasado alguna vez?
    Estoy utilizando el paquete jfreeChart y me salen las graficas que yo quiero. Hasta aqui bien. Pero algunas graficas me salen "raras", me explico. Si yo pongo 3 valores en el eje de las X, la grafica me sale con 5 valores, se repiten valores. Existe un número mÃnimo de valores a dibujar? Os ha pasado alguna vez?
		    setLowerBound y setUpperBound para seleccionar el mÃnimo y el máximo dentro del eje x 
por ejemplo si quieres que aparezcan en el gráfico las 24 horas del dÃa en el eje x puedes usar algo como esto:
import org.jfree.chart.axis.NumberTickUnit;
import java.awt.Font;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.JFreeChart;
public class DibujarEjeX
{
private JFreeChart chart;
private MVAxis ejeX;
private int MargenHorasGrafico = 2;
private int HorasGrafico = 24;
private XYPlot plot;
public void DibujarEjes()
{
plot = chart.getXYPlot();
ejeX = new MVAxis("Horas",false);
ejeX.setTickUnit (new NumberTickUnit (1.0));
Font xFont = new Font("Arial", Font.BOLD, 6);
Font tickFont = new Font("Arial", Font.BOLD, 6);
ejeX.setLabelFont (xFont);
String valoresEjeX [] = new String [HorasGrafico+1];
int j=0;
for (int k=MargenHorasGrafico;k<HorasGrafico+1;k++)
{
valoresEjeX [k] = new Integer(j).toString();
j=j+1;
}
ejeX.setTickLabels(valoresEjeX);
ejeX.setLowerBound (- (MargenHorasGrafico));
ejeX.setUpperBound (HorasGrafico);
plot.setDomainAxis(ejeX);
}
}
Espero que este ejemplo te sirva de ayuda
Saludos
Tato
	    
    por ejemplo si quieres que aparezcan en el gráfico las 24 horas del dÃa en el eje x puedes usar algo como esto:
import org.jfree.chart.axis.NumberTickUnit;
import java.awt.Font;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.JFreeChart;
public class DibujarEjeX
{
private JFreeChart chart;
private MVAxis ejeX;
private int MargenHorasGrafico = 2;
private int HorasGrafico = 24;
private XYPlot plot;
public void DibujarEjes()
{
plot = chart.getXYPlot();
ejeX = new MVAxis("Horas",false);
ejeX.setTickUnit (new NumberTickUnit (1.0));
Font xFont = new Font("Arial", Font.BOLD, 6);
Font tickFont = new Font("Arial", Font.BOLD, 6);
ejeX.setLabelFont (xFont);
String valoresEjeX [] = new String [HorasGrafico+1];
int j=0;
for (int k=MargenHorasGrafico;k<HorasGrafico+1;k++)
{
valoresEjeX [k] = new Integer(j).toString();
j=j+1;
}
ejeX.setTickLabels(valoresEjeX);
ejeX.setLowerBound (- (MargenHorasGrafico));
ejeX.setUpperBound (HorasGrafico);
plot.setDomainAxis(ejeX);
}
}
Espero que este ejemplo te sirva de ayuda
Saludos
Tato
