我正在与Laravel 3合作。我想在网站上建立一个报告页面。 我有一些视图表如下:
+---------+-----------------+-------+
| user_id | username | total |
+---------+-----------------+-------+
| 1 | user | 12 |
| 2 | admin | 3 |
| 3 | user2 | 1 |
| 4 | user3 | 1 |
+---------+-----------------+-------+
我想在图表视图中显示数据。制作它的最佳方法是什么?
答案 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);
?>
结果:
将第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);
?>
这是Codeproject的一个很好的介绍我发现: http://www.codeproject.com/Articles/604542/Creating-Interactive-HTML5-Graphs-in-PHP
答案 1 :(得分:5)
Laravel不提供任何开箱即用的图表库。您需要找到用PHP编写的第三方库,以便从Laravel应用程序生成图表。
一些免费的图表库是:
pChart - A PHP class to build charts。示例图表如下所示:
phpCHART - Make HTML5 Charts in PHP。示例图表如下所示:
我强烈建议您在StackOverflow中search for php charting library查看其他有经验用户的意见。
选择特定库时,将其作为任何其他依赖项添加到composer.json
文件中。