public void createChart(
      DataModel<String, Long> data, String label, String title, String axisX, String axisY) {
    if (data == null) {
      MetaUtils.setMsg("No data to display", FacesMessage.SEVERITY_INFO);
      return;
    }

    barModel = init(data, label);

    barModel.setTitle(title);
    barModel.setLegendPosition("ne");

    Axis xAxis = barModel.getAxis(AxisType.X);
    xAxis.setLabel(axisX);

    Axis yAxis = barModel.getAxis(AxisType.Y);
    yAxis.setLabel(axisY);
    yAxis.setMin(0);

    long max = 0;
    for (DataPoint<String, Long> p : data.getPoints()) {
      max = Math.max(max, p.getY());
    }
    yAxis.setMax(max);
  }
  /**
   * <b> Permite parametrizar el grafico. </b>
   *
   * <p>[Author: Paul Jimenez, Date: 10/06/2016]
   *
   * @throws HiperionException
   */
  private void createBarModel() throws HiperionException {
    barModel = initBarModel();

    barModel.setTitle("Bar Chart");
    barModel.setLegendPosition("ne");

    Axis xAxis = barModel.getAxis(AxisType.X);
    xAxis.setLabel("Partidas");

    Axis yAxis = barModel.getAxis(AxisType.Y);
    yAxis.setLabel("Valor");
    yAxis.setMin(0);
    yAxis.setMax(2000);
  }
  public CrimeChartBean() {
    HttpServletRequest request =
        (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    dist = request.getParameter("CrimeSearchForm:dist_input");
    yr = request.getParameter("CrimeSearchForm:year_input");

    blocklist = cdbo.getBlockList(dist, yr);

    // Pie chart-----------------------------------------------------------------------------------

    this.cbnlist = cdbo.getPieInfo(dist, yr);

    for (CrimeBean item : cbnlist) {
      piemodel.set(item.getCrimetype(), item.getCount());
    }

    piemodel.setTitle("District: " + dist + "\n" + " Year: " + yr);
    piemodel.setLegendPosition("e");
    piemodel.setShowDataLabels(true);
    piemodel.setDiameter(300);
    piemodel.setMouseoverHighlight(true);
    piemodel.setExtender("pieExtender");
    piemodel.setLegendPlacement(LegendPlacement.OUTSIDE);

    // Line Chart for total
    // chicago------------------------------------------------------------------------

    this.cbnlistbar = cdbo.getLineChartInfo();

    ChartSeries cr = new ChartSeries();
    cr.setLabel("Chicago Crime Rate");

    for (CrimeBean itm : cbnlistbar) {
      cr.set(itm.getYear(), itm.getCount());
    }

    linemodel.addSeries(cr);
    linemodel.setTitle("Chicago Crime Rate");
    linemodel.setLegendPosition("w");

    linemodel.getAxes().put(AxisType.X, new CategoryAxis("Years"));
    Axis yAxis = linemodel.getAxis(AxisType.Y);
    yAxis.setLabel("Number of Crime");
    yAxis.setMin(0);
    yAxis.setMax(500000);

    // Line Chart for the particular district and
    // year------------------------------------------------------

    cbnlistDbar = cdbo.getDYLineChartInfo(dist);
    ChartSeries crdist = new ChartSeries();
    for (CrimeBean item1 : cbnlistDbar) {
      crdist.set(item1.getYear(), item1.getCount());
    }
    linemodel.addSeries(crdist);
    crdist.setLabel("Crime rate for District " + dist);
  }
  private void createBubbleModels() {
    bubbleModel1 = initBubbleModel();
    bubbleModel1.setTitle("Bubble Chart");
    bubbleModel1.getAxis(AxisType.X).setLabel("Price");
    Axis yAxis = bubbleModel1.getAxis(AxisType.Y);
    yAxis.setMin(0);
    yAxis.setMax(250);
    yAxis.setLabel("Labels");

    bubbleModel2 = initBubbleModel();
    bubbleModel2.setTitle("Custom Options");
    bubbleModel2.setShadow(false);
    bubbleModel2.setBubbleGradients(true);
    bubbleModel2.setBubbleAlpha(0.8);
    bubbleModel2.getAxis(AxisType.X).setTickAngle(-50);
    yAxis = bubbleModel2.getAxis(AxisType.Y);
    yAxis.setMin(0);
    yAxis.setMax(250);
    yAxis.setTickAngle(50);
  }
  private void createHorizontalVentasModel() {
    horizontalBarModel = new HorizontalBarChartModel();

    for (ReporteMueble item : reporte.getInformeMuebles()) {
      ChartSeries muebles = new ChartSeries();
      muebles.setLabel(item.getNombre());
      muebles.set("Tipos", item.getCantidad());
      horizontalBarModel.addSeries(muebles);
    }

    horizontalBarModel.setTitle("Ventas por Mueble");
    horizontalBarModel.setLegendPosition("e");
    horizontalBarModel.setZoom(true);
    horizontalBarModel.setAnimate(true);

    Axis xAxis = horizontalBarModel.getAxis(AxisType.X);
    xAxis.setLabel("Ventas");
    xAxis.setMin(0);

    Axis yAxis = horizontalBarModel.getAxis(AxisType.Y);
    //
  }
  private void createLineModels(List<ArrayList> resultGraph) {
    LineChartModel model = new LineChartModel();
    LineChartSeries series1 = new LineChartSeries();
    series1.setLabel("");
    for (int i = 0; i < resultGraph.size(); i++) {
      List list = resultGraph.get(i);
      Integer qtde = Integer.parseInt(list.get(2).toString());
      String data = DataHoje.converteData((Date) list.get(1));
      try {
        if (list.get(3) != null) {
          data = list.get(3).toString().substring(0, 2);
        }
      } catch (Exception e) {

      }
      series1.set(data, qtde);
    }
    model.addSeries(series1);
    graficoFrequencia1 = model;
    graficoFrequencia1.setTitle("Frequência");
    graficoFrequencia1.setLegendPosition("e");
    graficoFrequencia1.getAxes().put(AxisType.X, new CategoryAxis("Datas"));
    Axis yAxis = graficoFrequencia1.getAxis(AxisType.Y);
    // yAxis.setMin(0);
    // yAxis.setMax(10);
    yAxis.setLabel("Quantidade Acessos");

    //        graficoFrequencia2 = initCategoryModel();
    //        graficoFrequencia2.setTitle("Category Chart");
    //        graficoFrequencia2.setLegendPosition("e");
    //        graficoFrequencia2.setShowPointLabels(true);
    //        graficoFrequencia2.getAxes().put(AxisType.X, new CategoryAxis("Years"));
    //        yAxis = graficoFrequencia2.getAxis(AxisType.Y);
    //        yAxis.setLabel("Births");
    //        yAxis.setMin(0);
    //        yAxis.setMax(200);
  }
Exemple #7
0
  private void cargarVentasMensuales() {

    String sql =
        "Select\n"
            + "  YEAR(vt_movimiento.FCHMOV) as ANIO,\n"
            + "  MONTH(vt_movimiento.FCHMOV) as MES,\n"
            + "  Sum(Case vt_movimiento_item.DEBHAB When 'H' Then vt_movimiento_item.CANTID  When 'D' Then (vt_movimiento_item.CANTID * -1) Else 0 End) As CANTIDAD,\n"
            + "  (Sum(IfNull(vt_movimiento_item.IMPHAB, 0) - IfNull(vt_movimiento_item.IMPDEB,0))) As IMPORTE_NACIONAL \n"
            + "From\n"
            + "  vt_movimiento Inner Join\n"
            + "  vt_movimiento_item On vt_movimiento_item.ID_MCAB = vt_movimiento.ID \n"
            + "Where\n"
            + "  vt_movimiento_item.ARTCOD Is Not Null\n"
            + "AND vt_movimiento.FCHMOV >= DATE_ADD(now(),INTERVAL -150 DAY) \n"
            + "Group By\n"
            + "  MONTH(vt_movimiento.FCHMOV),\n"
            + "  YEAR(vt_movimiento.FCHMOV)\n"
            + "Order By\n"
            + "  1 Asc, 2 Asc";

    List<Object[]> resultado = dashboardRN.executeSQL(sql);

    estadisticasVenta = new BarChartModel();

    ChartSeries ventas = new ChartSeries();
    ventas.setLabel("Meses");
    // ChartSeries cantidades = new ChartSeries();
    // cantidades.setLabel("Cantidad");

    labelsVentas = "";
    datosVentas = "";

    if (resultado != null && !resultado.isEmpty()) {

      for (Object[] r : resultado) {

        String nombre = ((Integer) r[1]).toString();
        Number valor = (Number) r[3];
        Number valor1 = (Number) r[2];

        if (labelsVentas.isEmpty()) {
          labelsVentas += "\"" + JsfUtil.getMeses().get(nombre) + "\"";
        } else {
          labelsVentas += ", \"" + JsfUtil.getMeses().get(nombre) + "\"";
        }

        if (datosVentas.isEmpty()) {
          datosVentas += valor.toString();
        } else {
          datosVentas += "," + valor.toString();
        }

        ventas.set(JsfUtil.getMeses().get(nombre), valor);
      }

    } else {

      String nombre = "N/D";
      Number valor = 1;
      Number valor1 = 1;

      ventas.set("N/D", valor);
    }

    estadisticasVenta.addSeries(ventas);
    //        estadisticasVenta.addSeries(cantidades);

    estadisticasVenta.setTitle("Ventas mensuales");
    estadisticasVenta.setLegendPosition("ne");
    estadisticasVenta.setSeriesColors("0277BD,43A047");

    Axis xAxis = estadisticasVenta.getAxis(AxisType.X);
    xAxis.setLabel("Meses");

    Axis yAxis = estadisticasVenta.getAxis(AxisType.Y);
    yAxis.setLabel("Ventas");
    yAxis.setMin(0);
    // yAxis.setMax(150000);
  }