Un gráfico de barras es una forma de resumir un conjunto de datos por categorías. Muestra los datos usando varias barras de la misma anchura, cada una de las cuales representa una categoría concreta. La altura de cada barra es proporcional a una agregación específica (por ejemplo, la suma de los valores de la categoría que representa). Las categorías podrían ser desde grupos de edad a ubicaciones geográficas. [tibco]
En el siguiente videotutorial se desarrollara un reporte con gráfico de tipo Bar Chart que reflejara el crecimiento en la población de Bolivia en los años 2010, 2013, y 2015. Datos extraídos del INE (Instituto Nacional de Estadística).
La base de datos se llama «dbTest» que ya la vimos en Primeros pasos en Jaspersoft Studio , le agregaremos una nueva tabla que se llama «department» y unos 9 registros correspondientes a la cantidad de departamentos que tiene Bolivia juntos a tres columnas (Nombre de departamento, población año 2010,población año 2013,población año 2015).
-- -- Estructura de tabla para la tabla department -- CREATE TABLE department ( id int(10) NOT NULL, name varchar(32) NOT NULL, pop2010 int(11) NOT NULL, pop2013 int(11) NOT NULL, pop2015 int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Volcado de datos para la tabla department -- INSERT INTO department (id, name, pop2010, pop2013, pop2015) VALUES (1, 'Chuquisaca', 650570, 670961, 700556), (2, 'La Paz', 2839946, 2962942, 3041272), (3, 'Cochabamba', 1861924, 1974359, 2048793), (4, 'Oruro', 450814, 461145, 466905), (5, 'Potosì', 788406, 803642, 811669), (6, 'Tarija', 522339, 559593, 584623), (7, 'Santa Cruz', 2785762, 3019255, 3177999), (8, 'Beni', 445234, 468187, 483130), (9, 'Pando', 81160, 89769, 95709); -- -- Índices para tablas volcadas -- -- -- Indices de la tabla department -- ALTER TABLE department ADD PRIMARY KEY (id); -- -- AUTO_INCREMENT de las tablas volcadas -- -- -- AUTO_INCREMENT de la tabla department -- ALTER TABLE department MODIFY id int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
Video tutorial
Reporte: reporte_bar_chart.jrxml
<?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 6.2.0.final using JasperReports Library version 6.2.0 --> <!-- 2019-12-21T33:14:38 --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="reporte_bar_chart" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c01d481c-8627-491c-b03f-50e581b7d907"> <property name="com.jaspersoft.studio.data.sql.tables" value="ZGJ0ZXN0LmRlcGFydG1lbnQgQVMgLDE1LDE1LDRhYjQwOGY0LTIyOWMtNDc2Mi05ZmQ4LTExYjIy
YmIwM2ZjMjs="/> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="TutorialAdapterConnection"/> <queryString> <![CDATA[SELECT dbtest.department.name, dbtest.department.pop2010, dbtest.department.pop2013, dbtest.department.pop2015 FROM dbtest.department]]> </queryString> <field name="name" class="java.lang.String"> <fieldDescription><![CDATA[]]></fieldDescription> </field> <field name="pop2010" class="java.lang.Integer"> <fieldDescription><![CDATA[]]></fieldDescription> </field> <field name="pop2013" class="java.lang.Integer"> <fieldDescription><![CDATA[]]></fieldDescription> </field> <field name="pop2015" class="java.lang.Integer"> <fieldDescription><![CDATA[]]></fieldDescription> </field> <background> <band splitType="Stretch"/> </background> <title> <band height="49" splitType="Stretch"> <staticText> <reportElement x="10" y="10" width="760" height="30" uuid="8455d177-ca3a-44e2-bb0f-05c9f7b8a142"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font size="14" isBold="true"/> </textElement> <text><![CDATA[CRECIMIENTO DE LA POBLACION DE BOLIVIA]]></text> </staticText> </band> </title> <pageHeader> <band height="8" splitType="Stretch"/> </pageHeader> <columnHeader> <band height="7" splitType="Stretch"/> </columnHeader> <detail> <band height="343" splitType="Stretch"> <bar3DChart> <chart evaluationTime="Report"> <reportElement x="10" y="10" width="760" height="320" uuid="8c87d8d4-5443-42de-8a94-20f4f82ebf0d"/> <chartTitle/> <chartSubtitle/> <chartLegend/> </chart> <categoryDataset> <categorySeries> <seriesExpression><![CDATA["Pop. 2010"]]></seriesExpression> <categoryExpression><![CDATA[$F{name}]]></categoryExpression> <valueExpression><![CDATA[$F{pop2010}]]></valueExpression> </categorySeries> <categorySeries> <seriesExpression><![CDATA["Pop. 2013"]]></seriesExpression> <categoryExpression><![CDATA[$F{name}]]></categoryExpression> <valueExpression><![CDATA[$F{pop2013}]]></valueExpression> </categorySeries> <categorySeries> <seriesExpression><![CDATA["Pop. 2015"]]></seriesExpression> <categoryExpression><![CDATA[$F{name}]]></categoryExpression> <valueExpression><![CDATA[$F{pop2015}]]></valueExpression> </categorySeries> </categoryDataset> <bar3DPlot> <plot/> <itemLabel/> <categoryAxisFormat> <axisFormat/> </categoryAxisFormat> <valueAxisFormat> <axisFormat/> </valueAxisFormat> </bar3DPlot> </bar3DChart> </band> </detail> <columnFooter> <band height="12" splitType="Stretch"/> </columnFooter> <pageFooter> <band height="54" splitType="Stretch"/> </pageFooter> <summary> <band height="42" splitType="Stretch"/> </summary> </jasperReport>
🙂
La tecnología de HTML5 y javascript nos permite crear gráficos interactivos livianos sin tener que recurrir a flash, el[...]
Antes de programar un videojuego, es necesario saber: Cómo representar figuras en la pantalla Cómo se manejan las coorde[...]
En este post construiremos paso a paso un SharedPreferences más conocido en español como «Preferencias de Usuario«, esta[...]
En esta oportunidad aprovechando el interés que tienen ahora los superheroes de Marvel, crearemos un formulario de logue[...]
Los mejores días del marco de java swing se han ido. Las aplicaciones de escritorio perdieron popularidad y todo está fo[...]
Dando respuesta a una interrogante sobre el como crear objetos en tiempo de ejecución y como manipular estos, desarrolle[...]