如何使条形图和折线图的Y轴贴在PHPExcel的左侧?

时间:2016-12-14 08:05:48

标签: php phpexcel

目前,当数据中存在负值时,条形图/折线图的y轴默认会移动到图形的中间位置。有没有办法让y轴坚持PHPExcel中最左边的图形?

1 个答案:

答案 0 :(得分:1)

可以通过设置Y& X轴样式。我不记得哪个版本实现了它们,因此它可能适用于您当前的版本,或者获取最新的PHPExcel

PHPExcel_Chart_Axis是将要创建的新对象。您可以阅读有关它的更多信息here,这是它的一个实例:

    $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); 

上述链接中解释了每个参数,但这里有悬崖笔记版本:

        @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,

在您的PHP文件中找到"新的PHPExcel_Chart"部分。使用下面的示例,您可以添加Y轴和X轴样式:

    $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
                    );