我在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