public function graficarLineas(Request $request) { if ($request->compras == 'Compras' && $request->ventas == 'Ventas') { $tabla = \Lava::DataTable(); $tabla->addDateColumn('Tiempo')->addNumberColumn($request->compras)->addNumberColumn($request->ventas); $datos = $this->obtenerDatos("ambos"); foreach ($datos as $dato) { $tabla->addRow($dato); } $linechart = \Lava::LineChart('Lineas')->dataTable($tabla)->title('Grafico de Lineas'); } if ($request->compras == 'Compras' && $request->ventas == null) { $tabla = \Lava::DataTable(); $tabla->addDateColumn('Tiempo')->addNumberColumn($request->compras); $datos = $this->obtenerDatos("Compras"); foreach ($datos as $dato) { $tabla->addRow($dato); } $linechart = \Lava::LineChart('Lineas')->dataTable($tabla)->title('Grafico de Lineas'); } if ($request->compras == null && $request->ventas == 'Ventas') { $tabla = \Lava::DataTable(); $tabla->addDateColumn('Tiempo')->addNumberColumn($request->ventas); $datos = $this->obtenerDatos("Ventas"); foreach ($datos as $dato) { $tabla->addRow($dato); } $linechart = \Lava::LineChart('Lineas')->dataTable($tabla)->title('Grafico de Lineas'); } if ($request->compras == null && $request->ventas == null) { return view('admi.graficas')->with(['error' => "Debe seleccionar por lo menos un parametro"]); } return view('admi.graficas')->with(['linechart' => $linechart]); }
/** * Admin dashboard * */ public function getIndex() { $results = DB::select('SELECT email FROM users WHERE last_activity > ?', array(time() - 600)); View::share('whosonline', $results); $stocksTable = Lava::DataTable('Stocks'); $stocksTable->addColumn('number', 'Count', 'count'); $stocksTable->addColumn('number', 'Projected', 'projected'); $stocksTable->addColumn('number', 'Official', 'official'); for ($a = 1; $a < 25; $a++) { $data[0] = $a; //Count $data[1] = rand(800, 1000); //Projected Data $data[2] = rand(800, 1000); //Official Data $stocksTable->addRow($data); } $config = array('title' => 'My Stocks'); Lava::LineChart('Stocks')->setConfig($config); return View::make('admin/dashboard'); }
/** * @param string $name * @param string $title */ public function getLineChart($name = '', $title = '') { $this->lineChart = \Lava::LineChart($name, $this->lavaDataTable); /* // Soon tl be released in lavacharts , ['trendlines' => [ 0 => [ 'type' => 'line', 'color' => 'red', 'pointsVisible'=>true, 'pointSize' => 1 ] ]] */ $this->setTitle($title); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show(Request $request, $id) { if ($request->stockCodeFind) { return redirect('stocks/' . $request->stockCodeFind); } if (Stock::where('stock_code', $id)->first()) { $priceGraphData = Stock::getGraphData($id, 'last_month', 'Price'); $prices = \Lava::DataTable(); $prices->addStringColumn('Date')->addNumberColumn('Price')->addNumberColumn('50 Day Moving Average')->addNumberColumn('200 Day Moving Average')->addRows($priceGraphData); $stockPriceLava = \Lava::LineChart('StockPrice')->dataTable($prices)->customize(['explorer' => ['actions' => ['dragToZoom', 'rightClickToReset']]])->setOptions(['width' => 620, 'height' => 360, 'title' => 'Price of ' . strtoupper($id)]); $sector = Stock::where('stock_code', $id)->pluck('sector'); $motRecentSectorHistoricalsDate = SectorHistoricals::getMostRecentSectorHistoricalsDate(); return view('pages.individualstock')->with(['stockPriceLava' => $stockPriceLava, 'stock' => Stock::where('stock_code', $id)->first(), 'relatedStocks' => StockMetrics::getMetricsByStockList(Stock::getRelatedStocks($id), 'omit'), 'metrics' => StockMetrics::where('stock_code', $id)->first(), 'mostRecentStockHistoricals' => Historicals::where('stock_code', $id)->orderBy('date', 'DESC')->limit(1)->first(), 'sectorAverage' => SectorHistoricals::where(['sector' => $sector, 'date' => $motRecentSectorHistoricalsDate])->first()]); } return redirect('/'); }
public static function googleGraph($minigraph_data, $type = 'activity') { switch ($type) { case 'activity': $stocksTable = Lava::DataTable('Stocks'); $stocksTable->addColumn('string', 'Week', 'count'); $stocksTable->addColumn('number', 'Hits', 'projected'); $stocksTable->addColumn('number', 'Unique', 'projected'); foreach (array_reverse($minigraph_data['activity']['data'], true) as $i => $d) { $data[0] = $i == 0 ? "This week" : Carbon::now()->subWeeks($i)->diffForHumans(); $data[1] = $d; $data[2] = $minigraph_data['activity_unique']['data'][$i]; $stocksTable->addRow($data); } Lava::LineChart('Stocks')->setConfig(); break; } }
public function viewServerStat($id) { $servers = DB::table('servers')->lists('server', 'id'); $server = DB::table('servers')->select('server', 'id')->where('id', $id)->first(); $server_statistics = DB::table('server_statistics')->where('server_id', $id)->get(); $linechart = \Lava::DataTable(); $linechart->addDateColumn('Date')->addNumberColumn('Sample Value'); foreach ($server_statistics as $key => $value) { # code... $rowData = array($value->data_label, $value->data_value); $linechart->addRow($rowData); } $lineChart = \Lava::LineChart('server-stat')->setOptions(array('datatable' => $linechart, 'title' => 'Server statistics for ' . ucfirst($server->server))); //dd($rowData); $server_statistics_low = DB::table('server_statistics')->select('data_value')->where('server_id', $id)->orderBy('data_value', 'asc')->first(); $server_statistics_high = DB::table('server_statistics')->select('data_value')->where('server_id', $id)->orderBy('data_value', 'desc')->first(); $server_statistics_avg = DB::table('server_statistics')->select('data_value')->where('server_id', $id)->avg('data_value'); if (!Request::ajax()) { return view('home', array('server_statistics_low' => $server_statistics_low, 'server_statistics_high' => $server_statistics_high, 'server_statistics_avg' => $server_statistics_avg, 'server_statistics' => $server_statistics, 'servers' => $servers, 'server_id' => $id)); } else { return view('pull-servers-stat-ajax', array('server_statistics_low' => $server_statistics_low, 'server_statistics_high' => $server_statistics_high, 'server_statistics_avg' => $server_statistics_avg, 'server_statistics' => $server_statistics, 'servers' => $servers, 'server_id' => $id)); } }
<div id="minerals_div" align="center" style="height:400px; width: 950px; padding-left: 0px"> <?php $mineralsChart = \Lava::LineChart('Minerals')->dataTable($mineralsG)->title('Percent of Daily Minerals Fulfilled'); for ($a = 4; $a >= 1; $a--) { $mineralsG->addRow(array($a + 1 . ' days ago', $previousNutrientTotals[301][$a] * 100 / $vals->getRecommendedCalcium(), $previousNutrientTotals[312][$a] * 100 / $vals->getRecommendedCopper(), $previousNutrientTotals[303][$a] * 100 / $vals->getRecommendedIron(), $previousNutrientTotals[304][$a] * 100 / $vals->getRecommendedMagnesium(), $previousNutrientTotals[315][$a] * 100 / $vals->getRecommendedManganese(), $previousNutrientTotals[305][$a] * 100 / $vals->getRecommendedPhosphorus(), $previousNutrientTotals[306][$a] * 100 / $vals->getRecommendedPotassium(), $previousNutrientTotals[307][$a] * 100 / $vals->getRecommendedSodium(), $previousNutrientTotals[309][$a] * 100 / $vals->getRecommendedZinc())); } $mineralsG->addRow(array('1 day ago', $previousNutrientTotals[301][0] * 100 / $vals->getRecommendedCalcium(), $previousNutrientTotals[312][0] * 100 / $vals->getRecommendedCopper(), $previousNutrientTotals[303][0] * 100 / $vals->getRecommendedIron(), $previousNutrientTotals[304][0] * 100 / $vals->getRecommendedMagnesium(), $previousNutrientTotals[315][0] * 100 / $vals->getRecommendedManganese(), $previousNutrientTotals[305][0] * 100 / $vals->getRecommendedPhosphorus(), $previousNutrientTotals[306][0] * 100 / $vals->getRecommendedPotassium(), $previousNutrientTotals[307][0] * 100 / $vals->getRecommendedSodium(), $previousNutrientTotals[309][0] * 100 / $vals->getRecommendedZinc())); $mineralsG->addRow(array('Today', $todayNutrientTotals[301] * 100 / $vals->getRecommendedCalcium(), $todayNutrientTotals[312] * 100 / $vals->getRecommendedCopper(), $todayNutrientTotals[303] * 100 / $vals->getRecommendedIron(), $todayNutrientTotals[304] * 100 / $vals->getRecommendedMagnesium(), $todayNutrientTotals[315] * 100 / $vals->getRecommendedManganese(), $todayNutrientTotals[305] * 100 / $vals->getRecommendedPhosphorus(), $todayNutrientTotals[306] * 100 / $vals->getRecommendedPotassium(), $todayNutrientTotals[307] * 100 / $vals->getRecommendedSodium(), $todayNutrientTotals[309] * 100 / $vals->getRecommendedZinc())); echo \Lava::render('LineChart', 'Minerals', 'minerals_div'); ?> </div> <div id="vitamins_div" align="center" style="height:400px; width: 950px; padding-left: 0px"> <?php $vitaminsChart = \Lava::LineChart('Vitamins')->dataTable($vitaminsG)->title('Percent of Daily Vitamins Fulfilled'); for ($a = 4; $a >= 1; $a--) { $vitaminsG->addRow(array($a + 1 . ' days ago', $previousNutrientTotals[320][$a] * 100 / $vals->getRecommendedVitaminA(), $previousNutrientTotals[578][$a] * 100 / $vals->getRecommendedVitaminB12(), $previousNutrientTotals[415][$a] * 100 / $vals->getRecommendedVitaminB6(), $previousNutrientTotals[401][$a] * 100 / $vals->getRecommendedVitaminC(), $previousNutrientTotals[328][$a] * 100 / $vals->getRecommendedVitaminD(), $previousNutrientTotals[323][$a] * 100 / $vals->getRecommendedVitaminE(), $previousNutrientTotals[430][$a] * 100 / $vals->getRecommendedVitaminK())); } $vitaminsG->addRow(array('1 day ago', $previousNutrientTotals[320][0] * 100 / $vals->getRecommendedVitaminA(), $previousNutrientTotals[578][0] * 100 / $vals->getRecommendedVitaminB12(), $previousNutrientTotals[415][0] * 100 / $vals->getRecommendedVitaminB6(), $previousNutrientTotals[401][0] * 100 / $vals->getRecommendedVitaminC(), $previousNutrientTotals[328][0] * 100 / $vals->getRecommendedVitaminD(), $previousNutrientTotals[323][0] * 100 / $vals->getRecommendedVitaminE(), $previousNutrientTotals[430][0] * 100 / $vals->getRecommendedVitaminK())); $vitaminsG->addRow(array('Today', $todayNutrientTotals[320] * 100 / $vals->getRecommendedVitaminA(), $todayNutrientTotals[578] * 100 / $vals->getRecommendedVitaminB12(), $todayNutrientTotals[415] * 100 / $vals->getRecommendedVitaminB6(), $todayNutrientTotals[401] * 100 / $vals->getRecommendedVitaminC(), $todayNutrientTotals[328] * 100 / $vals->getRecommendedVitaminD(), $todayNutrientTotals[323] * 100 / $vals->getRecommendedVitaminE(), $todayNutrientTotals[430] * 100 / $vals->getRecommendedVitaminK())); echo \Lava::render('LineChart', 'Vitamins', 'vitamins_div'); ?> </div> </div> <!--ends graph tabpanel--> </div> <!--ends tab-content--> </div> <br><br><br> </body> @endsection
public function createLineChart($UnitIds, $ChartTable) { $dataTable = $this->dataTableFiller($UnitIds, $ChartTable); $linechart = \Lava::LineChart('LineChart')->dataTable($dataTable)->title('Linechart'); }
/** * Returns a calendar chart of the graph of the specified computer's statuses. * * @param Computer $computer * * @return mixed */ public function graphOfStatus(Computer $computer) { $statuses = $computer->statuses()->thisMonth()->get(); $dataTable = Lava::DataTable(); $dataTable->addDateColumn('Date')->addNumberColumn('Status'); foreach ($statuses as $status) { $dataTable->addRow([$status->created_at, $status->online]); } return Lava::LineChart('Status')->setOptions(['title' => "{$computer->name} Status This Month Over Time", 'datatable' => $dataTable, 'legend' => (new Legend())->position('bottom'), 'vAxis' => (new VerticalAxis())->title('Offline / Online')]); }
public function getViewResults($id) { $perf = Performance::find($id); $user_perfs = Performance::where('user_id', $perf->user_id)->orderBy('year')->orderBy('semester')->get(); if (!$perf) { App::abort(404); } //=================Variable Declaration============ $u = $perf->utilities; $qow = $perf->workQuality; $pffp = $perf->potential; //========================Computation================= $overall = number_format(($u + $qow + $pffp) / 3, 2); $rating = ParRatingsRef::where('upper_limit', '>=', $overall)->where('lower_limit', '<=', $overall)->first(); $overpercent = number_format($overall / 6 * 100, 2); //========================= The color of the percent bar ===============// if ($overpercent >= 85) { $color = 'progress-bar-success'; } elseif ($overpercent >= 75 and $overpercent <= 84.98999999999999) { $color = ''; } elseif ($overpercent >= 40 and $overpercent <= 74.98999999999999) { $color = 'progress-bar-warning'; } else { $color = 'progress-bar-danger'; } //======================================Line Graph===============================// $lava = new Lavacharts(); // See note below for Laravel $overall_chart = Lava::DataTable(); $overall_chart->addStringColumn('Date')->addNumberColumn('Overall Rating'); foreach ($user_perfs as $user_perf) { $overall_chart->addRow([$user_perf->year . ' (' . $user_perf->semester . ' sem)', $user_perf->overall]); } $linechart = Lava::LineChart('Overall')->setOptions(['datatable' => $overall_chart, 'title' => 'Overall Performance Line Chart', 'pointSize' => 10, 'lineWidth' => 6]); //======================================Line Graph===============================// return View::make('viewresults')->with('perf', $perf)->with('overall', $overall)->with('rating', $rating)->with('overpercent', $overpercent)->with('color', $color); }
<h1><?php echo link_to('/', 'Codeigniter gChart Examples'); ?> \ Advanced Line Chart</h1> <?php echo Lava::LineChart('Times')->outputInto('time_div'); echo Lava::div(800, 500); if (Lava::hasErrors()) { echo Lava::getErrors(); } ?> <hr /> <h2>Controller Code</h2> <pre style="font-family:Courier New, monospaced; font-size:10pt;border:1px solid #000;background-color:#f2f2f2;padding:5px;"> </pre> <h2>View Code</h2> <pre style="font-family:Courier New, monospaced; font-size:10pt;border:1px solid #000;background-color:#f2f2f2;padding:5px;"> echo Lava::LineChart('Times')->outputInto('time_div'); echo Lava::div(800, 500); if(Lava::hasErrors()) { echo Lava::getErrors(); } </pre>
public function createCharts($filter = null) { $stocksTable = \Lava::DataTable(); $format = new DateFormat(); $stocksTable->addDateColumn('Day of Month', $format->pattern("MMMM"))->addNumberColumn('2015')->addNumberColumn('2014'); // Random Data For Example for ($a = 1; $a <= 12; $a++) { $firstDayOfMonth = Carbon::createFromDate(2015, $a, 1)->toDateString(); $lastDay = date("t", Carbon::createFromDate(2015, $a, 1)->timestamp); $lastDayOfMonth = Carbon::createFromDate(2015, $a, $lastDay)->toDateString(); $filter2015 = $filter . "AND fecfac >= '{$firstDayOfMonth}' AND fecfac <= '{$lastDayOfMonth}'"; $rows = $this->model->getRows(["params" => $filter2015]); $priceMonth2015 = 0; foreach ($rows['rows'] as $row) { $priceMonth2015 += $row->totfac; } $firstDayOfMonth = Carbon::createFromDate(2014, $a, 1)->toDateString(); $lastDay = date("t", Carbon::createFromDate(2014, $a, 1)->timestamp); $lastDayOfMonth = Carbon::createFromDate(2014, $a, $lastDay)->toDateString(); $filter2014 = $filter . "AND fecfac >= '{$firstDayOfMonth}' AND fecfac <= '{$lastDayOfMonth}'"; $rows = $this->model->getRows(["params" => $filter2014]); $priceMonth2014 = 0; foreach ($rows['rows'] as $row) { $priceMonth2014 += $row->totfac; } $rowData = array("2015-{$a}-1", $priceMonth2015, $priceMonth2014); $stocksTable->addRow($rowData); } $chart = \Lava::LineChart('myFancyChart'); $chart->datatable($stocksTable); }
private function getTeamsChart() { $teamHoursDataTable = \Lava::DataTable(); foreach (Team::all()->sortBy('name') as $team) { $teamHoursDataTable->addNumberColumn($team->name); } foreach (Team::all() as $team) { $teamHoursDataTable->addRow([$team->workActivities()->sum('hours')]); } \Lava::LineChart('Overview')->dataTable($clubOverviewChart)->title('Stundenübersicht nach Team, Zeitraum 1 Jahr, Intervall 2 Wochen')->setOptions(array('legend' => \Lava::Legend(array('position' => 'in')))); }
<body> <a href="https://github.com/kevinkhill/" id="forkMe"> <img src="<?php echo asset('images/forkme.png'); ?> " alt="Fork me on GitHub"> </a> <h1 class="exampleTitle"> <?php echo link_to('/lavacharts/examples', 'LavaChart Examples'); ?> \ Basic Line Chart </h1> <?php echo Lava::LineChart('Stocks')->outputInto('stock_div'); echo Lava::div(1000, 400); if (Lava::hasErrors()) { echo Lava::getErrors(); } ?> <br /> <div class="prettyprintContainer"> <span class="prettyprintContainerLabel">Closure Route/Controller</span> <div class="prettyprintCode"> <pre class="prettyprint linenums"> $stocksTable = Lava::DataTable('Stocks'); $stocksTable->addColumn('date', 'Date', 'date')
public function comparative($society, Request $request) { $startdate = $request->input('yr') . "-01-01"; $enddate = $request->input('yr') . "-12-31"; $groups = $request->input('groups'); $values = \Lava::DataTable(); $values->addNumberColumn('Weeks'); $charttitle = $request->input('yr') . " Comparative attendance by weeks: "; foreach ($groups as $gid) { $tot = 0; $group = Group::find($gid); $charttitle = $charttitle . $group->groupname . " v "; $values->addNumberColumn($group->groupname); $stats = Statistic::with('group')->where('group_id', '=', $group->id)->where('statdate', '>=', $startdate)->where('statdate', '<=', $enddate)->orderBy('statdate')->get(); foreach ($stats as $stat) { $tstamp = strtotime($stat->statdate); $week = 1 + ceil(($tstamp - strtotime($startdate)) / (86400 * 7)); $halfstats[$gid][$week] = $stat->attendance; $tot = $tot + $stat->attendance; } $halfstats[$gid]['avg'] = round($tot / count($stats), 2); $avg[$gid] = $group->groupname . ": " . $halfstats[$gid]['avg']; } $charttitle = substr($charttitle, 0, -2); for ($i = 1; $i < 53; ++$i) { $dum = array(); array_push($dum, $i); foreach ($halfstats as $hs) { if (array_key_exists($i, $hs)) { array_push($dum, $hs[$i]); } else { array_push($dum, $hs['avg']); } } $values->addRow($dum); } $linechart = \Lava::LineChart('Chart')->dataTable($values)->title($charttitle); return View::make('statistics.comparative', compact('linechart', 'avg')); }
* Advanced Line Chart */ Route::get('/line/basic', function () { $stocksTable = Lava::DataTable('Stocks'); $stocksTable->addColumn('date', 'Date', 'date')->addColumn('number', 'Projected', 'projected')->addColumn('number', 'Closing', 'closing'); for ($a = 1; $a < 30; $a++) { $data = array(Lava::jsDate(2011, 5, $a), rand(9500, 10000), rand(9500, 10000)); $stocksTable->addRow($data); } Lava::LineChart('Stocks')->title('Stock Market Trends'); return View::make('lavacharts::line.basic'); }); /** * Advanced Line Chart */ Route::get('/line/advanced', function () { $timesTable = Lava::DataTable('Times'); $timesTable->addColumn('date', 'Dates', 'dates')->addColumn('number', 'Estimated Time', 'schedule')->addColumn('number', 'Actual Time', 'run'); for ($a = 1; $a < 30; $a++) { $data = array(Lava::jsDate(2013, 8, $a), rand(5, 30), rand(5, 30)); $timesTable->addRow($data); } //Either Chain functions together and assign to variables $legendStyle = Lava::textStyle()->color('#F3BB00')->fontName('Arial')->fontSize(20); $legend = Lava::legend()->position('bottom')->alignment('start')->textStyle($legendStyle); //Or pass in arrays with set options into the function's constructor $tooltip = Lava::tooltip(array('showColorCode' => TRUE, 'textStyle' => Lava::textStyle(array('color' => '#C0C0B0', 'fontName' => 'Courier New', 'fontSize' => 10)))); $config = array('backgroundColor' => Lava::backgroundColor(array('stroke' => '#113bc9', 'strokeWidth' => 4, 'fill' => '#ffd')), 'chartArea' => Lava::chartArea(array('left' => 100, 'top' => 75, 'width' => '85%', 'height' => '55%')), 'titleTextStyle' => Lava::textStyle(array('color' => '#FF0A04', 'fontName' => 'Georgia', 'fontSize' => 18)), 'legend' => $legend, 'tooltip' => $tooltip, 'title' => 'Times for Deliveries', 'titlePosition' => 'out', 'curveType' => 'function', 'width' => 1000, 'height' => 450, 'pointSize' => 3, 'lineWidth' => 1, 'colors' => array('#4F9CBB', 'green'), 'hAxis' => Lava::hAxis(array('baselineColor' => '#fc32b0', 'gridlines' => array('color' => '#43fc72', 'count' => 6), 'minorGridlines' => array('color' => '#b3c8d1', 'count' => 3), 'textPosition' => 'out', 'textStyle' => Lava::textStyle(array('color' => '#C42B5F', 'fontName' => 'Tahoma', 'fontSize' => 10)), 'slantedText' => TRUE, 'slantedTextAngle' => 30, 'title' => 'Delivery Dates', 'titleTextStyle' => Lava::textStyle(array('color' => '#BB33CC', 'fontName' => 'Impact', 'fontSize' => 14)), 'maxAlternation' => 6, 'maxTextLines' => 2)), 'vAxis' => Lava::vAxis(array('baseline' => 5, 'baselineColor' => '#CF3BBB', 'format' => '## Min.', 'textPosition' => 'out', 'textStyle' => Lava::textStyle(array('color' => '#DDAA88', 'fontName' => 'Arial Bold', 'fontSize' => 10)), 'title' => 'Delivery Time', 'titleTextStyle' => Lava::textStyle(array('color' => '#5C6DAB', 'fontName' => 'Verdana', 'fontSize' => 14))))); Lava::LineChart('Times')->setConfig($config); return View::make('lavacharts::line.advanced'); });
public function getIndex() { $minigraph_data = array(); $minigraph_data['account_created'] = $this->graphDataBuild('account_created'); $minigraph_data['login'] = $this->graphDataBuild('login'); $minigraph_data['activity'] = $this->graphDataBuild('activity'); $minigraph_data['activity_unique'] = $this->graphDataBuild('activity', '5', true); View::share('minigraph_data', $minigraph_data); View::share('minigraph_json', json_encode($minigraph_data)); $widgets = $this->widgets(); View::share('widgets', $widgets); $results = DB::select('SELECT email FROM users WHERE UNIX_TIMESTAMP(`last_activity`) > ?', array(time() - 600)); View::share('whosonline', $results); $stocksTable = Lava::DataTable('Stocks'); $stocksTable->addColumn('string', 'Week', 'count'); $stocksTable->addColumn('number', 'Hits', 'projected'); $stocksTable->addColumn('number', 'Unique', 'projected'); foreach (array_reverse($minigraph_data['activity']['data'], true) as $i => $d) { $data[0] = $i == 0 ? "This week" : Carbon::now()->subWeeks($i)->diffForHumans(); $data[1] = $d; $data[2] = $minigraph_data['activity_unique']['data'][$i]; $stocksTable->addRow($data); } Lava::LineChart('Stocks')->setConfig(); return Theme::make('admin/dashboard'); }