图表绘图区

获取图表绘图区的宽度和高度

Aspose.Slides for PHP via Java 提供了一个简单的 API。

  1. 创建一个 Presentation 类的实例。
  2. 访问第一页幻灯片。
  3. 添加带有默认数据的图表。
  4. 在获取实际值之前调用方法 IChart.validateChartLayout()
  5. 获取图表元素相对于图表左上角的实际 X 位置(左侧)。
  6. 获取图表元素相对于图表左上角的实际顶部位置。
  7. 获取图表元素的实际宽度。
  8. 获取图表元素的实际高度。
  # 创建一个 Presentation 类的实例
  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350);
    $chart->validateChartLayout();
    $x = $chart->getPlotArea()->getActualX();
    $y = $chart->getPlotArea()->getActualY();
    $w = $chart->getPlotArea()->getActualWidth();
    $h = $chart->getPlotArea()->getActualHeight();
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

设置图表绘图区的布局模式

Aspose.Slides for PHP via Java 提供了一个简单的 API 以设置图表绘图区的布局模式。方法 setLayoutTargetTypegetLayoutTargetType 已添加到 ChartPlotArea 类和 IChartPlotArea 接口。如果绘图区的布局手动定义,则该属性指定是按其内部(不包括轴和轴标签)还是外部(包括轴和轴标签)布局绘图区。有两个可能的值定义在 LayoutTargetType 枚举中。

示例代码如下。

  # 创建一个 Presentation 类的实例
  $pres = new Presentation();
  try {
    $slide = $pres->getSlides()->get_Item(0);
    $chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 20, 100, 600, 400);
    $chart->getPlotArea()->setX(0.2);
    $chart->getPlotArea()->setY(0.2);
    $chart->getPlotArea()->setWidth(0.7);
    $chart->getPlotArea()->setHeight(0.7);
    $chart->getPlotArea()->setLayoutTargetType(LayoutTargetType::Inner);
    $pres->save("SetLayoutMode_outer.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }