Crear Grafica en Java
Crear Grafica en Java
ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import java.io.File; import org.jfree.chart.plot.*; import java.io.*; import org.jfree.data.category.DefaultCategoryDataset; /** * * @author Roberto Leon Cruz */ public class GraficoSimpleLin extends java.awt.Frame { BufferedImage grafica = null; //constructor public GraficoSimpleLin() { super("Aprendiendo a Graficar con Robert"); } public BufferedImage creaImagen() { //XYSeries es una clase que viene con el paquete JFreeChart //funciona como un arreglo con un poco mas de posibilidades XYSeries series = new XYSeries("titulo de la serie"); //como su nombre lo indica el primer valor sera asignado al eje X //y el segundo al eje Y series.add(1, 23); series.add(2, 34); series.add(3, 51); series.add(4, 67); series.add(5, 89); series.add(6, 121); series.add(7, 137); //se crea un objeto XYDataset requerido mas adelante por el metodo que g rafica XYDataset juegoDatos= new XYSeriesCollection(series); /*aqui se hace la instancia de la nueva grafica invocando al met odo de ChartFactory que nos dibujara una grafica de lineas este metodo como casi tod os los demas recibe los siguientes argumentos: tipo String uperior centro String String XYDataset (aqui cambian el parametro tutulo del eje X titulo del eje Y el conjunto de datos X y Y del tipo XYDataset valor nombre de la grafica , aparecera en la parte s
dependiendo del tipo de grafica que se quiere pueden ver todos los parametros en la documentacion aqui <a href="http://www.j free.org/jfreechart/api/javadoc/index.html " title="http://www.jfree.org/jfreechart/api/javadoc/index.html ">http://www.jfree.org/jfreechart/api/javadoc/index.html </a> iremos notando los cambios mas adelante.. PlotOrientation la orientacion del grafico puede ser PlotOrien tation.VERTICAL o PlotOrientation.HORIZONTAL boolean muestra u oculta leyendas boolean muestra u oculta tooltips boolean muestra u oculta urls (esta opcion aun no la entiendo del todo) generalmente solo necesitaremos cambiar los primeros 3 parametro s lo demas puede quedarse asi */ JFreeChart chart = ChartFactory.createXYLineChart afico", "Eje X","Eje Y",juegoDatos,PlotOrientation.VERTICAL, false, false, true // Show legend ); //donde guardaremos la imagen?? pues en un bufer jeje BufferedImage image = chart.createBufferedImage(400,400); return image; } //supongo que esto es demaciado obvio pero sino entienden pregunten... public void paint(java.awt.Graphics g) { //super.paint(g); if(grafica == null) { grafica = this.creaImagen(); } g.drawImage(grafica,30,30,null); } /** * @param args the command line arguments * *solo nos resta invocar a nuestra grafica */ public static void main(String args[]) { GraficoSimpleLin miventana = new GraficoSimpleLin(); miventana.setSize(450,450); miventana.show(); } } ("Titulo del gr
<!-table { font: 11px Verdana, Arial, Helvetica, sans-serif; color: #777; padding:7px; } --> </style> <?php $datosTabla = array( array( "directas", 160, "#BDDA4C"), array( "google", 220, "#FF9A68"), array( "bloglines", 80, "#69ABBF"), array( "del.icio.us", 10, "#FFDE68"), array( "yahoo", 35, "#AB6487") ); $maximo = 0; foreach ( $datosTabla as $ElemArray ) { $maximo += $ElemArray[1]; } ?> <body> <table width="400" cellspacing="0" cellpadding="2"> <?php foreach( $datosTabla as $ElemArray ) { $porcentaje = round((( $ElemArray[1] / $maximo ) * 100),2); ?> <tr> <td width="20%"><strong><?php echo( $ElemArray[0] ) ?></strong></td> <td width="10%"><?php echo( $porcentaje ) ?>%</td> <td> <table width="<?php echo($porcentaje) ?>%" bgcolor="<?php echo($ ElemArray[2]) ?>"> <tr><td></td></tr> </table> <</td> </tr> <?php } ?> </table> </body> </html>