How to make Y-axis of bar chart and line chart stick to left side for PHPExcel?

落花浮王杯 提交于 2019-12-12 03:53:23

问题


Currently when there are negative value in data, the y-axis of bar/line chart will be moved to middle of the graph by default. Is there a way to make the y-axis stick to the leftmost of the graph in PHPExcel?


回答1:


That can be done by setting the Y & X Axis styles. I don't recall which version implemented them so it may work with your current version, or grab the latest PHPExcel

PHPExcel_Chart_Axis is the new object that will be created. You can read more about it here and this is an example of it in action:

    $yAxisStyle =  new PHPExcel_Chart_Axis();
    $yAxisStyle->setAxisOptionsProperties('low', null, null, null, null, null, null, null, null, null); 

    $xAxisStyle =  new PHPExcel_Chart_Axis();
    $xAxisStyle->setAxisOptionsProperties('low', null, null, null, null, null, null, null, null, null); 

Each of those parameters are explained in the link above, but here is a cliff notes version:

        @param string $axis_labels                  'nextTo','low','high','none' (completely removes it altogether)
        @param string $horizontal_crosses_value     default=null (auto), numeric value 0-999
        @param string $horizontal_crosses           default=null,
        @param string $axis_orientation             default=null,
        @param string $major_tmt                    default=null, (major_tick_mark)
        @param string $minor_tmt                    default=null, (minor_tick_mark)
        @param string $minimum                      default=null,
        @param string $maximum                      default=null,
        @param string $major_unit                   default=null,
        @param string $minor_unit                   default=null,

Within your PHP file find the "new PHPExcel_Chart" section. Using the example below you can add in the Y and X axis styling:

    $chart= new PHPExcel_Chart(
                        'Chart1',       // name
                        $title,         // title displayed on chart
                        $legend,        // legend
                        $pa,            // plotArea
                        true,           // plotVisibleOnly
                        0,              // displayBlanksAs
                        NULL,           // xAxisLabel
                        $yAxisLabel,    // yAxisLabel
                        $xAxisStyle,    // X-axis styling vertical
                        $yAxisStyle,    //Y-axis style horizontal
                        null,
                        null
                    );


来源:https://stackoverflow.com/questions/41137572/how-to-make-y-axis-of-bar-chart-and-line-chart-stick-to-left-side-for-phpexcel

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!