Я прочитал этот пост PHPExcel Chart Axis Опции, установленные Минимум и моя проблема в том, что я хочу установить максимальное значение (фиксированное) в Оси, независимо от графических значений.
Я прочитал много постов, но не могу получить ответ на свою проблему.
Проблема может быть «исправлена» в Excel, перейдя в параметр формата оси и установив фиксированное значение max_value_scale (т.е. 20) для максимума этой оси. Могу ли я изменить параметры этого формата из PHPExcel?
Когда я использую pChart для рендеринга диаграммы (в другом варианте, предоставленном моей системой), я сделал это
$AxisBoundaries = array(0=>array("Min"=>0,"Max"=>$max_value_scale+1));
$scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"LabelSkip"=>1,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries,"MinDivHeight"=>50);
Я представляю это изображение:
но мне нужно что-то вроде этого:
Мой график создан нормально, я проверял много постов и форумов, но не могу найти решение этой проблемы.
$chart = new PHPExcel_Chart(
'chart1', // name
$title, // title
$legend, // legend
$plotarea, // plotArea
true, // plotVisibleOnly
0, // displayBlanksAs
$xAxisLabel, // xAxisLabel
$yAxisLabel // yAxisLabel
);
В PHPExcel была ошибка, которая исправлена этим моим коммитом: https://github.com/PHPOffice/PHPExcel/commit/1a237573f9127a02388f4e306732122b39d1ea49
Пример использования (100 — максимальное значение):
$axis = new PHPExcel_Chart_Axis();
$axis->setAxisOptionsProperties('nextTo', null, null, null, null, null, null, 100);
$chart = new PHPExcel_Chart('chart' . $locTL, $title, $legend, $pa, true, 0, NULL, NULL, $axis);
Установите версию PHPExcel с исправлением этой ошибки или примените патч поверх вашей версии.
Как и вопрос StackOverflow, на который вы ссылались, PHPExcel (начиная с 1.8.1) не может программно изменить масштаб диаграммы по оси Y. Масштаб диаграммы по оси Y автоматически генерируется из данных диаграммы, и вы не можете это контролировать.
pChart и PHPExcel — это отдельные библиотеки. К сожалению, конфигурация для настройки масштаба, доступная в pChart, недоступна в PHPExcel. Таким образом, используя PHPExcel, вы не можете автоматически генерировать диаграммы, которые конфигурируют ось Y, как вы просите.
Если вы настроили включение изображения диаграммы с настроенным максимальным / минимальным масштабом по оси Y, вы можете визуализировать изображения pChart, а затем вставьте эти изображения в рабочую таблицу через PHPExcel. Очевидным недостатком является то, что пользователь вашего окончательного документа электронной таблицы не сможет самостоятельно настраивать изображения диаграмм (поскольку это будут изображения, а не диаграммы).