Yii 1.1: eamchartwidget

Simple Widget to renderize Charts using AmCharts Javascript Library
11 followers

This widget for use with the Yii Framework utilises the Amchart plugin visualize (http://www.amcharts.com/) to render graphs and charts for your web application.

Requirements

  • Yii 1.1 or above

Usage

The following code is a simple instance of Widget, you can create the following chart types: - Pie - Line - Area - Column - Bar - Scatter

The configuration parameter have the same name of the Chart and Grpah defined by AmChart, you can the AmChart Doc and Amchart Examples

// DataProvider, you can use any Provider that implement IDataProvider
$dataProvider = new CActiveDataProvider('OlimpicMedals');
 
 
//Chart With bar & line graph
    $this->widget('application.extensions.amcharts.EAmChartWidget', 
                    array(
                        'width' => 700, // width of the Chart
                        'height' => 400, // height of the chart
                        'chart'=>array(// collections of grpah to display into the chart
                                    'dataProvider'=>$dataProvider, // DataProvider
                                    'categoryField' => 'Date' // Field of the DataProvider to set on the X Axis
                                    ),
                        'graphs'=>array(
                                array(
                                    'valueField' => 'GoldMedals', // Field of the DataProvider to set the Y Axis
                                    'title'=>'Value', // Title of the , used on the Legend
                                    'type' => 'bar' // Type of Graph
                                ),
                                array(
                                    'valueField' => 'SilverMedals',
                                    'title'=>'Value',
                                    'type' => 'line',
                                    'fillColors'=>'Transparent',
                                    'fillAlphas'=>'0',
                                    'lineColor'=>'#EE2299',
                                    'bullet'=>'round'
                                )),
                        'categoryAxis'=>array(
                                    'title'=>'Species Name'
                                    ),
                        'valueAxis'=>array(
                                    'title'=>'Identifier')
    )); 
 
    // Chart with pie   
    $this->widget('application.extensions.amcharts.AmChartWidget',
            array(
                    'width' => 700,
                    'height' => 400,
                    'Chart'=>array(
                            'dataProvider'=>$arrayData,
                            'titleField' => 'Country',
                            'valueField' => 'Medals',
                            'type' => 'pie'
                    )
            ));

Installation

  • Download the widget from here
  • Extract the following Widget on /YourProject/protected/extensions/

Resources

Total 3 comments

#16197 report it
luckas at 2014/01/27 08:12am
Reply: Got Undefined Result

Hi Amjad Khan, making a faster review of your code your dataset retrieve the "projectname" field in lowercase and you are using with capital letter **Projectname** into the view

#16170 report it
Amjad Khan at 2014/01/25 02:49am
Got Undefined Result

I use this code to get the data from database

$sql="SELECT pkprojectid,projectname, count( * ) AS total_requests
                FROM `tblproject` , `tblinforequest`
                WHERE tblinforequest.fkprojectid = tblproject.pkprojectid
                GROUP BY projectname
                LIMIT 0 , 30";
             $result = Yii::app()->db->createCommand($sql)->queryAll(); 
             $dataProvider=new CArrayDataProvider($result,array(
                'keyField' => 'ID'));
             $this->render('graphs',array('result'=>$dataProvider));

and this is my view file

$this->widget('ext.amcharts.EAmChartWidget',
        array(
            'width' => 700, //height of the chart
            'height' => 400,//width of the chart
            'chart'=>array(
                'dataProvider'=>$result,//CDataProvider
                'titleField' => 'Projectname',//Title Field
                'valueField' => 'total_requests',// Value Field
                'type' => 'pie'//Type of Chart
            )
        ));

But i got just three verticals lines with undefined headings.

#14338 report it
Narender Negi at 2013/08/05 06:57am
Hi,

Hi, good work.i used it and it works fine

Leave a comment

Please to leave your comment.

Create extension
Downloads
No downloadable files yet