0

我有一个图表,我可以在 docx 模板中手动创建 x 轴值。模板输出正确的图形。我不想依靠手动输入所有 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 轴值?

4

2 回答 2

0

OpenTBS 使您能够更改任何系列的 x 和 y 值。因此,您只需更改所有系列的所有 (x,y) 项,然后旧的 x 值应该在图表中完全消失。您必须获得 x 轴的自动最小值和最大值,以使其适应新值。

您还必须记住 Ms Office Charts 的行为:

  • 如果您的图表类型是 XY(也称为 Scatter),那么 (x,y) 您的系列条目可以按任何顺序排列,并且 x 轴不必显示项目使用的值。当您有多个具有不同 x 值的系列并且想要在 x 轴中显示未使用的 x 值时,这很好。
  • 如果您的图表类型与 XY 不同,则 x 值被视为类别。只有使用过的值才会显示在 x 轴上。如果两个系列有不同的类别,所有可能的值都显示在 x 轴上。
于 2015-08-26T11:14:47.037 回答
0

我刚刚发现我不需要自动生成嵌入图表中的所有水平值。我需要做的就是在第一条记录中放一个日期(例如 Mar 05 15 或其他任何不在我填充的日期范围内的日期),该系列将自动填充我的 PHP 数组中的所有可用日期。

于 2015-12-01T18:00:23.263 回答