我在PHPExcel中的y轴标签定位有问题。PHPExcel - Y轴重叠数据chartarea
当我创建图表中,y轴标签没有出现到绘图区的左边,它们总是重叠的绘图区,起始于第4类而不是0
我假定的问题是由我的类别x轴值引起的,Excel无法确定将y轴放在哪里相对于数据。我的类别(X轴)的值是字符串形式:
yyyy, i.e. 1980 1981 1982 1983 etc.
这里是我的PHPExcel图表创建代码,所有除Y轴的定位工作。
$labels = array(
new PHPExcel_Chart_DataSeriesValues('String', "'Report Summary'!C1", null, 1),
new PHPExcel_Chart_DataSeriesValues('String', "'Report Summary'!D1", null, 1)
);
$chrtCols = "'Report Summary'!B2:B$rowNum";
$chrtVals = "'Report Summary'!C2:C$rowNum";
$chrtVals2 = "'Report Summary'!D2:D$rowNum";
$periods = new PHPExcel_Chart_DataSeriesValues('Number', $chrtCols, null, $rowNum-1);
$values = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals, null, $rowNum-1);
$values2 = new PHPExcel_Chart_DataSeriesValues('Number', $chrtVals2, null, $rowNum-1);
$series = new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_AREACHART, // plotType
PHPExcel_Chart_DataSeries::GROUPING_STANDARD, // plotGrouping
array(0,1), // plotOrder
$labels, // plotLabel
array($periods,$periods), // plotCategory
array($values,$values2) // plotValues
);
$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL);
$layout = new PHPExcel_Chart_Layout();
$plotarea = new PHPExcel_Chart_PlotArea($layout, array($series));
$chart = new PHPExcel_Chart('sample', null, null, $plotarea);
$chart->setTopLeftPosition('A1', 24, 24);
$chart->setBottomRightPosition('B18', -24);
$actSheet->addChart($chart);
是否有设定告诉y轴在0类别而不是将其自动地选择了错误的交叉点穿过x轴?或者有什么方法可以改变源数据,使其自动选择正确的交叉点?
编辑:A“可能”替代方法可能是简单地设定y轴线颜色为“无线”,并且y轴标签显示为“低”,而不是“下一步以”,然而,我不要以为PHPExcel能够在这一点上改变轴线颜色设置。还是呢?
谢谢!这固定了y轴!与移动x轴类似,我们也可以做类似的改变 – ken