• Publicidad

Colocar un nuevo array en barplot en JpGraph

Todo lo relacionado con lenguajes de programación distintos de Perl: PHP, Java, C++, Ruby, Python, etc.

Colocar un nuevo array en barplot en JpGraph

Notapor Brain » 2015-12-13 13:17 @595

Hola. Estoy haciendo un gráfico donde muestro la cantidad de pagos por mes, pero ahora necesito agregarle el monto a cada barra. Eso lo estoy intentando con un nuevo array llamado $montos pero por más que lo intento no funciona y no se me ocurre otra forma de hacerlo.

La línea donde intento insertar el array es acá:

$barplot1->value->SetFormat($montos);

El código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
  1.     function consultarDeudoresMesGrafico($year)
  2.     {
  3.        
  4.         $consulta = "";
  5.        
  6.         if ($year == "") {
  7.             $consulta = mysql_query("select id_deudor,month(fecha_pago_deudor) from deudores");
  8.         } else {
  9.             $consulta = mysql_query("select id_deudor,month(fecha_pago_deudor) from deudores where year(fecha_pago_deudor)='" . $year . "'");
  10.         }
  11.        
  12.         $monto_total = "0";
  13.        
  14.         if ($year == "") {
  15.             $monto_total = totalDeudores();
  16.         } else {
  17.             $monto_total = totalDeudorPorYear($year);
  18.         }
  19.        
  20.         if (!is_numeric($monto_total)) {
  21.             $monto_total = "0";
  22.         }
  23.                
  24.                 $montos = array("300","400","600","800","900","200","300","100","400","600","800","900");
  25.        
  26.         $cantidad = mysql_num_rows($consulta);
  27.        
  28.         $ids = array();
  29.        
  30.         $Enero      = 0;
  31.         $Febrero    = 0;
  32.         $Marzo      = 0;
  33.         $Abril      = 0;
  34.         $Mayo       = 0;
  35.         $Junio      = 0;
  36.         $Julio      = 0;
  37.         $Agosto     = 0;
  38.         $Septiembre = 0;
  39.         $Octubre    = 0;
  40.         $Noviembre  = 0;
  41.         $Diciembre  = 0;
  42.        
  43.         while ($resultado = mysql_fetch_array($consulta)) {
  44.            
  45.             $id_cliente = $resultado[0];
  46.             $mes_pago   = $resultado[1];
  47.            
  48.             if (!in_array($id_cliente, $ids)) {
  49.                 array_push($ids, $id_cliente);
  50.                 if ($mes_pago == 1) {
  51.                     $Enero++;
  52.                 }
  53.                 if ($mes_pago == 2) {
  54.                     $Febrero++;
  55.                 }
  56.                 if ($mes_pago == 3) {
  57.                     $Marzo++;
  58.                 }
  59.                 if ($mes_pago == 4) {
  60.                     $Abril++;
  61.                 }
  62.                 if ($mes_pago == 5) {
  63.                     $Mayo++;
  64.                 }
  65.                 if ($mes_pago == 6) {
  66.                     $Junio++;
  67.                 }
  68.                 if ($mes_pago == 7) {
  69.                     $Julio++;
  70.                 }
  71.                 if ($mes_pago == 8) {
  72.                     $Agosto++;
  73.                 }
  74.                 if ($mes_pago == 9) {
  75.                     $Septiembre++;
  76.                 }
  77.                 if ($mes_pago == 10) {
  78.                     $Octubre++;
  79.                 }
  80.                 if ($mes_pago == 11) {
  81.                     $Noviembre++;
  82.                 }
  83.                 if ($mes_pago == 12) {
  84.                     $Diciembre++;
  85.                 }
  86.             }
  87.            
  88.         }
  89.        
  90.         $textos = array(
  91.             "Enero",
  92.             "Febrero",
  93.             "Marzo",
  94.             "Abril",
  95.             "Mayo",
  96.             "Junio",
  97.             "Julio",
  98.             "Agosto",
  99.             "Septiembre",
  100.             "Octubre",
  101.             "Noviembre",
  102.             "Diciembre"
  103.         );
  104.         $datos  = array(
  105.             $Enero,
  106.             $Febrero,
  107.             $Marzo,
  108.             $Abril,
  109.             $Mayo,
  110.             $Junio,
  111.             $Julio,
  112.             $Agosto,
  113.             $Septiembre,
  114.             $Octubre,
  115.             $Noviembre,
  116.             $Diciembre
  117.         );
  118.        
  119.         $grafico = new Graph(500, 400, 'auto');
  120.         $grafico->SetScale("textlin");
  121.        
  122.         $theme = new UniversalTheme;
  123.         $grafico->SetTheme($theme);
  124.         $grafico->title->Set("Cantidad de deudores por mes");
  125.        
  126.         $grafico->Set90AndMargin(80, 40, 60, 40);
  127.         $grafico->img->SetAngle(90);
  128.        
  129.         $grafico->yaxis->scale->SetGrace(20);
  130.  
  131.         $grafico->xaxis->title->Set("");
  132.         $grafico->yaxis->title->Set("");                       
  133.         $grafico->title->SetFont(FF_FONT1,FS_BOLD);
  134.         $grafico->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
  135.         $grafico->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
  136.         $grafico->xaxis->SetTickLabels($textos);
  137.        
  138.         $grafico->footer->center->Set('Monto total : $' . $monto_total);
  139.  
  140.         $barplot1 = new BarPlot($datos);
  141.        
  142.         $grafico->Add($barplot1);
  143.                                
  144.         $barplot1->SetWeight(0);
  145.         $barplot1->SetFillGradient("#BE81F7", "#E3CEF6", GRAD_HOR);
  146.         $barplot1->SetWidth(17);
  147.                
  148.                 $barplot1->value->SetFormat($montos);
  149.                 $barplot1->value->Show();
  150.                 $barplot1->value->HideZero(true);
  151.                 $barplot1->value->SetFont(FF_FONT1,FS_BOLD);
  152.                 $barplot1->SetValuePos('center');
  153.        
  154.                
  155.         $grafico->Stroke();
  156.        
  157.     }
Coloreado en 0.034 segundos, usando GeSHi 1.0.8.4


Una imagen: http://i.stack.imgur.com/QbjQg.jpg

¿Cómo puedo insertar el array $montos delante o en el medio de cada barra en su bar correspondiente?
Última edición por explorer el 2015-12-13 14:19 @638, editado 4 veces en total
Razón: Código PHP
Brain
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2015-12-13 13:13 @592

Publicidad

Volver a Programación en general

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado