Настройка легенд диаграмм в презентациях с использованием Python
Обзор
Aspose.Slides предоставляет возможности настройки легенд диаграмм в презентациях PowerPoint. Эта статья показывает, как задать позицию и размер легенды, установить размер шрифта для всей легенды и применить форматирование к отдельному элементу легенды.
Она также охватывает несколько сопутствующих вопросов в разделе FAQ, включая использование режима без наложения, чтобы область построения оставляла место для легенды, разрешение длительных подписей легенды переносить строки или использовать разрывы строк, а также наследование форматирования легенды из темы презентации, если не заданы явные параметры текста и заливки.
Позиционирование легенды
Чтобы задать свойства легенды, выполните следующие действия:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд.
- Добавьте диаграмму на слайд.
- Задайте свойства легенды.
- Сохраните презентацию в файл PPTX.
Следующий пример задает позицию и размер легенды диаграммы.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation, SaveFormat
# Создать пустую презентацию.
presentation = Presentation()
try:
# Получить ссылку на слайд.
slide = presentation.getSlides().get_Item(0)
# Добавить сгруппированную колонную диаграмму на слайд.
chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 500)
# Установить свойства легенды.
legend = chart.getLegend()
legend.setX(50 / chart.getWidth())
legend.setY(50 / chart.getHeight())
legend.setWidth(100 / chart.getWidth())
legend.setHeight(100 / chart.getHeight())
# Сохранить презентацию на диск.
presentation.save("Legend_out.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Установка размера шрифта легенды
Aspose.Slides для Python через Java позволяет задать размер шрифта легенды. Выполните следующие действия:
- Создайте экземпляр класса Presentation.
- Создайте диаграмму по умолчанию.
- Задайте размер шрифта.
- Задайте минимальное значение оси.
- Задайте максимальное значение оси.
- Сохраните презентацию на диск.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, Presentation, SaveFormat
# Создать пустую презентацию.
presentation = Presentation()
try:
chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(20)
vertical_axis = chart.getAxes().getVerticalAxis()
vertical_axis.setAutomaticMinValue(False)
vertical_axis.setMinValue(-5)
vertical_axis.setAutomaticMaxValue(False)
vertical_axis.setMaxValue(10)
presentation.save("output.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Установка размера шрифта отдельного элемента легенды
Aspose.Slides для Python через Java позволяет задать размер шрифта отдельным элементам легенды. Выполните следующие действия:
- Создайте экземпляр класса Presentation.
- Создайте диаграмму по умолчанию.
- Получите доступ к элементу легенды.
- Задайте размер шрифта.
- Сохраните презентацию на диск.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import ChartType, FillType, NullableBool, Presentation, SaveFormat
Color = jpype.JClass("java.awt.Color")
# Создать пустую презентацию.
presentation = Presentation()
try:
chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400)
text_format = chart.getLegend().getEntries().get_Item(1).getTextFormat()
portion_format = text_format.getPortionFormat()
portion_format.setFontBold(NullableBool.True_)
portion_format.setFontHeight(20)
portion_format.setFontItalic(NullableBool.True_)
portion_format.getFillFormat().setFillType(FillType.Solid)
portion_format.getFillFormat().getSolidFillColor().setColor(Color.BLUE)
presentation.save("output.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
FAQ
Могу ли я включить легенду так, чтобы диаграмма автоматически выделяла для неё место, а не накладывала её?
Да. Используйте setOverlay со значением False, чтобы включить режим без наложения; в этом случае область построения уменьшится, чтобы разместить легенду.
Могу ли я создать многострочные подписи легенды?
Да. Длинные подписи автоматически переносятся, когда места недостаточно; принудительные разрывы строк поддерживаются символами новой строки в имени серии.
Как заставить легенду использовать цветовую схему темы презентации?
Не задавайте явные цвета, заливки или шрифты для легенды или её текста. Тогда они будут наследоваться из темы и корректно обновятся при изменении дизайна.