如何使用Laravel生成图表?

时间:2013-08-14 02:00:03

标签: charts laravel laravel-3

我正在与Laravel 3合作。我想在网站上建立一个报告页面。 我有一些视图表如下:

+---------+-----------------+-------+
| user_id | username        | total |
+---------+-----------------+-------+
|       1 | user            |    12 |
|       2 | admin           |     3 |
|       3 | user2           |     1 |
|       4 | user3           |     1 |
+---------+-----------------+-------+

我想在图表视图中显示数据。制作它的最佳方法是什么?

2 个答案:

答案 0 :(得分:9)

我是第二个phpChart。过去用于在线报告任务。很容易快速创建图表。

以下是基于phpChart - online example使用Axis Labels Rotated Text 2的方案解决方案:

<?php 
$line = array(array('user', 12), array('admin', 3), array('user2', 1), array('user3', 1));

$pc = new C_PhpChartX(array($line),'user_chart');
$pc->add_plugins(array('canvasTextRenderer'));
//set series
$pc->add_series(array('renderer'=>'plugin::BarRenderer'));
//set axes
$pc->set_axes(array(
    'xaxis'  => array(
        'renderer'=>'plugin::CategoryAxisRenderer',
        'tickRenderer'=>'plugin::CanvasAxisTickRenderer'),
    'yaxis'  => array(
        'autoscale'=>true,
        'tickRenderer'=>'plugin::CanvasAxisTickRenderer')
));

$pc->draw(800,500);
?>

结果: enter image description here

将第6行更改为PieRenderer,您将获得一个饼图。

<?php
$line = array(array('user', 12), array('admin', 3), array('user2', 1), array('user3', 1));

$pc = new C_PhpChartX(array($line),'chart_1');
$pc->add_plugins(array('canvasTextRenderer'));
//set series
$pc->add_series(array('renderer'=>'plugin::PieRenderer'));
//set axes
$pc->set_series_default(array(
    'renderer'=>'plugin::PieRenderer',
    'rendererOptions'=>array('showDataLabels'=>true)));
$pc->set_legend(array('show'=>true,
    'rendererOptions'=> array('numberRows'=> 1),
    'location'=> 's'));

$pc->draw(800,500);
?>

enter image description here

这是Codeproject的一个很好的介绍我发现: http://www.codeproject.com/Articles/604542/Creating-Interactive-HTML5-Graphs-in-PHP

答案 1 :(得分:5)

Laravel不提供任何开箱即用的图表库。您需要找到用PHP编写的第三方库,以便从Laravel应用程序生成图表。

一些免费的图表库是:

我强烈建议您在StackOverflow中search for php charting library查看其他有经验用户的意见。

选择特定库时,将其作为任何其他依赖项添加到composer.json文件中。