Los gráficos de líneas muestran una serie como un conjunto de puntos conectados mediante una línea. Los valores se representan por el alto de los puntos con relación al eje Y. Las etiquetas de las categorías se presentan en el eje X. Los gráficos de líneas suelen utilizarse para comparar valores a lo largo del tiempo.(microsoft)
Necesitamos
– IDE Netbeans 7 o superior
Proyecto
1. Crea un nuevo proyecto con la siguiente estructura:
– Una JFrame que llamamos «interfaz.java»
– Una clase XYLineChart.java
Agrega también la libreria JFreeChart
2. La interfaz consta de un JPanel y dentro de el, un JLabel, para la alineación se hace uso del layout BorderLayout, El JPanel debe tener un tamaño de 500×400.
3. Clase XYLineChart.java
Esta clase se extiende de un ImageIcon y recibe por el constructor el tamaño (dimension) que tendrá el gráfico, mediante el metodo xyDataset(), se crean las series y se llenan los datos, finalmente se crea una imagen en memoria y se asigna a la clase.
import java.awt.Color; import java.awt.Dimension; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.labels.StandardXYItemLabelGenerator; import org.jfree.chart.labels.XYItemLabelGenerator; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; /** * @web https://www.jc-mouse.net * @author Mouse */ public class XYLineChart extends ImageIcon{ /** Constructor de clase * @param d Dimension */ public XYLineChart( Dimension d ){ //se declara el grafico XY Lineal XYDataset xydataset = xyDataset(); JFreeChart jfreechart = ChartFactory.createXYLineChart( "Ingresos semanales" , "1ra semana del mes de Junio", "Ingresos en euros", xydataset, PlotOrientation.VERTICAL, true, true, false); //personalización del grafico XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.setBackgroundPaint( Color.white ); xyplot.setDomainGridlinePaint( Color.BLACK ); xyplot.setRangeGridlinePaint( Color.BLACK ); // -> Pinta Shapes en los puntos dados por el XYDataset XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) xyplot.getRenderer(); xylineandshaperenderer.setBaseShapesVisible(true); //--> muestra los valores de cada punto XY XYItemLabelGenerator xy = new StandardXYItemLabelGenerator(); xylineandshaperenderer.setBaseItemLabelGenerator( xy ); xylineandshaperenderer.setBaseItemLabelsVisible(true); xylineandshaperenderer.setBaseLinesVisible(true); xylineandshaperenderer.setBaseItemLabelsVisible(true); //fin de personalización //se crea la imagen y se asigna a la clase ImageIcon BufferedImage bufferedImage = jfreechart.createBufferedImage( d.width, d.height); this.setImage(bufferedImage); } /** * Datos */ private XYDataset xyDataset() { //se declaran las series y se llenan los datos XYSeries sIngresos = new XYSeries("Ingresos"); XYSeries sEgresos = new XYSeries("Egresos"); //serie #1 sIngresos.add( 1, 340); sIngresos.add( 2, 210); sIngresos.add( 3, 410); sIngresos.add( 4, 200); sIngresos.add( 5, 525); sIngresos.add( 6, 492); sIngresos.add( 7, 390); //serie #2 sEgresos.add( 1, 90); sEgresos.add( 2, 434); sEgresos.add( 3, 741); sEgresos.add( 4, 91); sEgresos.add( 5, 412); sEgresos.add( 6, 361); sEgresos.add( 7, 271); XYSeriesCollection xyseriescollection = new XYSeriesCollection(); xyseriescollection.addSeries( sIngresos ); xyseriescollection.addSeries( sEgresos ); return xyseriescollection; } }//-->fin clase
4. Finalmente para agregar el grafico al jlabel1 de la interfaz:
this.jLabel1.setIcon( new XYLineChart( this.jPanel1.getSize() ) ); this.jLabel1.setText("");
Ejecutando tenemos:
Operador de Complemento bit a bit unario Entre los operadores a nivel de bits de uso más común en java tenemos al operad[...]
Segunda parte del tutorial «Crea un servicio web REST con PHP y MYSQL«, en esta segunda y ultima parte se completara la[...]
Desde java 7 esta disponible la interface ExecutorService que se extiende de Executor y nos proporciona los métodos nece[...]
Necesitamos: Android Studio 2 tipos de fuente TTF Agregar Archivo de fuente al proyecto Paso 1: Crear carpeta assets Cli[...]
¿Qué es una vista? Una vista (View) o Tabla Virtual, es una forma lógica de ver los datos ubicados en varias tablas, es[...]
La misión espacial de la NASA, el Mars 2020 Rover Mission esta proyectada para lanzarse en julio de 2020 y su llegada s[...]