Yii2:使用PHP数组制作双轴高度图

时间:2016-02-10 09:21:00

标签: php highcharts yii2

我想创建双轴Highchart,如图中所示,我已安装miloschuman\highcharts\Highcharts扩展名。

enter image description here

我的yii2代码

<?php
    use miloschuman\highcharts\Highcharts;

    $emp = ['zxc', 'sdf', 'fgh', 'ggg'];
    $totalData[] = ['name' => 'Total',  'type' => 'column', 'data' => [23,45,34,34]];
    $avgData[] = ['name' => 'Avarage', 'type' => 'spline', 'data' => [2.3,4.5,3.4,3.0]];
    echo Highcharts::widget([
            'options' => [  
                'chart'=>[
                    //'type'=>'column', 
                    'zoomType' => 'xy',
                ],
                'exporting'=>[
                    'enabled'=>false, 
                ],
                'credits'=>[
                        'enabled'=>false,
                ],
                'title'=>[
                    'text'=>Yii::t('comm', $model->fg_name),
                ],
                'subtitle'=>[
                    'text'=>'',
                    'margin'=>0,
                ],
                'xAxis'=>[
                    'type' => 'category',
                    'labels' => [
                        'rotation' => -45,
                        'style' => [
                            'fontSize' => '13px',
                            'fontFamily' => 'Verdana, sans-serif'
                        ]
                    ],
                    'categories'=> $emp,
                    'title'=>[
                        'text'=>'<b>'.Yii::t('comm', 'Employee').'</b>',
                    ],
                ],
                'yAxis'=>[
                    'title'=>[
                        'text'=>Yii::t('comm', 'TOTAL/AVARAGE'),
                    ],  
                ],
                'legend' => [
                    'enabled' => false
                ],
                'plotOptions'=>[
                     'column'=>[
                        'pointPadding'=>0.2,
                        'borderWidth'=>0
                     ],
                ],
                'series'=> [$avgData,$totalData]
                ],
        ]);
?>

1 个答案:

答案 0 :(得分:1)

我使用2amigos highcharts,但我确定过程是一样的,这是我用来生成双轴图表的最新示例:

'yAxis' => [ // primary axis
        [
          'title' => [
              'text' => 'Weeks'
          ],
          'tickInterval' => 5,
      ],
      [ // secondary axis
        'gridLineWidth' => 0,
        'title' => [
            'text' => '%'
        ],
        'max' => 100,
        'min' => 0,
        'opposite' => true,
      ]
    ],

我的系列节目如下:

'series' => [$series,$line, $percent]

它们本身就是数组:以下是其中一个数组的示例,您可以在其中说明数据所属的轴,在我的情况下,我猜您的yAxis将为0或1.更改{ {1}}无论你喜欢什么,这个数组都是一个列,但其他人都是样条

type