Параметры оси диаграммы PHPExcel установлены на максимум

Я прочитал этот пост Параметры оси диаграммы PHPExcel устанавливают минимум, и моя проблема похожа на это, я хочу установить максимальное значение (фиксированное) на оси, независимо от значений, отображаемых на графике.

Я прочитал много сообщений, но я не могу получить ответ на свою проблему.

Проблема может быть «исправлена» в 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);

Я визуализирую это изображение: rendered

но мне нужно что-то вроде этого: needed


Моя диаграмма создается нормально, я проверил много сообщений и форумов, но не могу найти решение этой проблемы.

$chart = new PHPExcel_Chart(
    'chart1',       // name
    $title,         // title
    $legend,        // legend
    $plotarea,      // plotArea
    true,           // plotVisibleOnly
    0,              // displayBlanksAs
    $xAxisLabel,    // xAxisLabel
    $yAxisLabel     // yAxisLabel
);

person Angel Doza    schedule 20.04.2015    source источник
comment
Как установить угол меток оси X? (Я не спрашивал о твоем имени)   -  person Oki Erie Rinaldi    schedule 27.11.2015


Ответы (2)


В PHPExcel была ошибка, которая исправлена ​​этим моим коммитом: 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, в которой исправлена ​​эта ошибка, или примените исправление поверх вашей версии.

person user38759    schedule 02.04.2016
comment
Большое спасибо, у меня до сегодняшнего дня не было сервера, на котором я мог бы делать свои доказательства. Оно работает! - person Angel Doza; 24.07.2016

Как и вопрос StackOverflow, который вы связали с упоминаниями, PHPExcel (начиная с 1.8.1) не может программно изменить масштаб диаграммы по оси Y. Масштаб диаграммы по оси Y автоматически создается из данных диаграммы, и вы не можете это контролировать.

pChart и PHPExcel — это отдельные библиотеки. К сожалению, конфигурация для настройки масштаба, доступная в pChart, недоступна в PHPExcel. Таким образом, используя PHPExcel, вы не можете автоматически генерировать диаграммы, которые настраивают ось Y так, как вы просите.

Если вы настроены на включение изображения диаграммы с настроенным максимальным/минимальным масштабом по оси Y, вы можете визуализировать изображения pChart, а затем вставьте эти изображения в рабочий лист через PHPExcel. Очевидным недостатком является то, что пользователь вашего итогового табличного документа не сможет самостоятельно настроить изображения диаграмм (поскольку это будут изображения, а не диаграммы).

person Dave Mulder    schedule 12.01.2016