Настройка легенд диаграмм в презентациях с использованием PHP
Расположение легенды
Чтобы задать свойства легенды, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд.
- Добавьте диаграмму на слайд.
- Установите свойства легенды.
- Сохраните презентацию в файл PPTX.
В приведённом ниже примере мы задали положение и размер легенды диаграммы.
# Создайте экземпляр класса Presentation
$pres = new Presentation();
try {
# Получите ссылку на слайд
$slide = $pres->getSlides()->get_Item(0);
# Добавьте на слайд группированную столбчатую диаграмму
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 500, 500);
# Установите свойства легенды
$chart->getLegend()->setX(50 / $chart->getWidth());
$chart->getLegend()->setY(50 / $chart->getHeight());
$chart->getLegend()->setWidth(100 / $chart->getWidth());
$chart->getLegend()->setHeight(100 / $chart->getHeight());
# Сохраните презентацию на диск
$pres->save("Legend_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Установить размер шрифта легенды
Aspose.Slides for PHP via Java позволяет разработчикам задавать размер шрифта легенды. Выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Создайте диаграмму по умолчанию.
- Установите размер шрифта.
- Задайте минимальное значение оси.
- Задайте максимальное значение оси.
- Сохраните презентацию на диск.
# Создайте экземпляр класса Presentation
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
$chart->getLegend()->getTextFormat()->getPortionFormat()->setFontHeight(20);
$chart->getAxes()->getVerticalAxis()->setAutomaticMinValue(false);
$chart->getAxes()->getVerticalAxis()->setMinValue(-5);
$chart->getAxes()->getVerticalAxis()->setAutomaticMaxValue(false);
$chart->getAxes()->getVerticalAxis()->setMaxValue(10);
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Установить размер шрифта отдельной записи легенды
Aspose.Slides for PHP via Java позволяет разработчикам задавать размер шрифта отдельных записей легенды. Выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Создайте диаграмму по умолчанию.
- Получите доступ к записи легенды.
- Установите размер шрифта.
- Задайте минимальное значение оси.
- Задайте максимальное значение оси.
- Сохраните презентацию на диск.
# Создайте экземпляр класса Presentation
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
$tf = $chart->getLegend()->getEntries()->get_Item(1)->getTextFormat();
$tf->getPortionFormat()->setFontBold(NullableBool::True);
$tf->getPortionFormat()->setFontHeight(20);
$tf->getPortionFormat()->setFontItalic(NullableBool::True);
$tf->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$tf->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Могу ли я включить легенду, чтобы диаграмма автоматически выделяла для неё место вместо наложения?
Да. Используйте режим без наложения (setOverlay(false)); в этом случае область построения уменьшится, чтобы разместить легенду.
Могу ли я сделать многострочные подписи легенды?
Да. Длинные подписи автоматически переносятся, если места недостаточно; принудительные разрывы строки поддерживаются символами новой строки в названии серии.
Как сделать так, чтобы легенда следовала цветовой схеме темы презентации?
Не задавайте явные цвета/заливки/шрифты для легенды или её текста. Они будут наследоваться из темы и корректно обновляться при изменении дизайна.