Ver Mensaje Individual
  #16 (permalink)  
Antiguo 21/08/2013, 22:16
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: como integrar laravel 4 y librerias para graficar series de tiempo

eternoaprendiz gracias por responder , estoy implementando lo que me indicas pero no me funciona

este es mi codigo:

Modelo Anemometro.php

Código PHP:
Ver original
  1. class Anemometro extends Eloquent {
  2.          
  3.        protected $table = "anenometros";
  4.        public static function getLast()
  5.        {
  6.              return Anemometro::orderBy('id', 'desc')->take(1)->first();
  7.        }               
  8.        static function getPrepararDatosGrafica()
  9.        {
  10.              $filas = DB::select('select * from anemometro');
  11.              $xdata = array();
  12.              $ydata = array();
  13.  
  14.              foreach($filas as $fila) {
  15.                   $xdata[] = substr($fila->hora, 0, -3);
  16.                   $ydata[] = $fila->temperatura;
  17.              }
  18.  
  19.              return array($xdata, $ydata);
  20.        }
  21. }

Controlador GraficasControlador.php

Código PHP:
Ver original
  1. use JpGraph\JpGraph;
  2.  
  3. class GraficasController extends \BaseController {
  4.  
  5.     function pintarGrafica($nombre)
  6.       {
  7.            list($xdata, $ydata) = Anemometro::getPrepararDatosGrafica();
  8.            JpGraph::module('line');
  9.                $graph = new Graph(820,194,'auto');
  10.                $graph->SetScale('linlin');
  11.                $graph->SetMargin(40,40,20,10);
  12.                $graph->title->Set('Temperatutra');
  13.                $graph->title->SetFont(FF_ARIAL,FS_NORMAL,12);
  14.                $graph->xaxis->SetPos('min');
  15.                $graph->xaxis->SetLabelAngle(0);
  16.                $graph->yaxis->SetTitle("Grados Centigrados (C)",'center');
  17.                $graph->xaxis->SetTitle("Tiempo",'center');
  18.                $graph->xaxis->SetTickSide(SIDE_DOWN);
  19.                $graph->xaxis->SetTickLabels($xdata);
  20.                $graph->xgrid->Show();
  21.                $p1 = new LinePlot($ydata);
  22.                $p1->SetColor('teal');
  23.                $graph->Add($p1);
  24.                $graph->Stroke(_IMG_HANDLER);
  25.                $response = Response::make($graph->img->Stream(), 200);
  26.                $response->header('Content-type', 'image/jpeg');
  27.                return $response;
  28.        }

en routes.php

Código PHP:
Ver original
  1. Route::get('registro', function()
  2. {
  3.     $registros = DB::table('anemometro')->orderBy('id', 'desc')->take(1)->get();
  4.     return View::make('registros')->with('registros', $registros);
  5. });

vista registros.blade.php
Código PHP:
Ver original
  1. <img src="{{ action('GraficasController@pintarGrafica', array('nombre' => 'grafica-1')) }}">

que estoy haciendo mal?