OpenTBS / Как мне динамически генерировать горизонтальные значения для встроенного графа внутри шаблона docx?

У меня есть график, для которого я смог вручную создать значения оси X в шаблоне DOCX. Шаблон выводит правильный график. Вместо того, чтобы полагаться на ручной ввод всех значений x и подстановку значений из массива php, я хочу динамически заполнять горизонтальную ось значениями из массива php.

Код PHP

// --------------------------------------------
// Merging and other operations on the template
// --------------------------------------------
// Change chart series
$ChartNameOrNum = 'Buildup'; // Title of the shape that embeds the chart
$SeriesNameOrNum = 'Series 1';
$NewValues = array($buildupLabels['TotalActionItems'], $buildupSeries['TotalActionItems'] );
$NewLegend = "Total Action Items";
$TBS->PlugIn(OPENTBS_CHART, $ChartNameOrNum, $SeriesNameOrNum, $NewValues, $NewLegend);

// Delete comments
$TBS->PlugIn(OPENTBS_DELETE_COMMENTS);

Выходной файл с визуализированной диаграммой

Выходная диаграмма

Шаблон диаграммы

Шаблон сборки

Таблица значений оси X

Введенные вручную значения

Как я могу достичь вышеуказанного? Возможно ли это с помощью OpenTBS или мне нужно вручную вводить все значения оси x?

0

Решение

OpenTBS позволяет вам изменять значения x и y для любой серии.
Так что вам просто нужно изменить все (x, y) элементы для всех ваших рядов, тогда старые значения x должны полностью исчезнуть в вашем графике. Вы должны получить автоматическое минимальное и максимальное значения для оси x, чтобы адаптировать его к новым значениям.

Вы также должны иметь в виду поведение Ms Office Charts:

  • Если ваш тип диаграммы — XY (также называемый Scatter), то (x, y) записей вашей серии могут быть в любом порядке, и ось x не будет отображать значения, используемые элементами. Это хорошо, когда у вас есть несколько серий с разными значениями x, и вы хотите отобразить неиспользуемые значения x в оси x.
  • Если тип вашей диаграммы отличается от XY, то значения x считаются категориями. Только используемые значения будут отображаться на оси х. Если серии буксировок имеют разные категории, все возможные значения отображаются на оси х.
0

Другие решения

Я только что обнаружил, что мне не нужно автоматически генерировать все горизонтальные значения во встроенной диаграмме. Все, что мне нужно сделать, это поместить одну дату в первую запись (например, 05 марта 15 или что-либо еще, даже не в диапазоне дат, которые я заполняю), и серия автоматически заполнит все доступные даты из моего массива PHP.

0

По вопросам рекламы [email protected]