Настройка областей построения диаграмм в презентациях на Java
Получить ширину и высоту области построения диаграммы
Aspose.Slides for Java предоставляет простой API для .
- Создайте экземпляр класса Presentation.
- Получите первый слайд.
- Добавьте диаграмму с данными по умолчанию.
- Вызовите метод IChart.validateChartLayout() перед получением фактических значений.
- Получает фактическое положение X (слева) элемента диаграммы относительно левого верхнего угла диаграммы.
- Получает фактическую верхнюю позицию элемента диаграммы относительно левого верхнего угла диаграммы.
- Получает фактическую ширину элемента диаграммы.
- Получает фактическую высоту элемента диаграммы.
// Создайте экземпляр класса Presentation
Presentation pres = new Presentation();
try {
Chart chart = (Chart)pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350);
chart.validateChartLayout();
double x = chart.getPlotArea().getActualX();
double y = chart.getPlotArea().getActualY();
double w = chart.getPlotArea().getActualWidth();
double h = chart.getPlotArea().getActualHeight();
} finally {
if (pres != null) pres.dispose();
}
Установить режим компоновки области построения диаграммы
Aspose.Slides for Java предоставляет простой API для установки режима компоновки области построения диаграммы. Методы setLayoutTargetType и getLayoutTargetType добавлены в класс ChartPlotArea и интерфейс IChartPlotArea. Если компоновка области построения задаётся вручную, это свойство указывает, следует ли компонировать область построения по её внутренней части (не включая оси и подписи осей) или по внешней части (включая оси и подписи осей). Существует два возможных значения, определённых в перечислении LayoutTargetType enum.
- LayoutTargetType.Inner — указывает, что размер области построения определяет размер области построения без учёта меток делений и подписей осей.
- LayoutTargetType.Outer — указывает, что размер области построения определяет размер области построения, метки делений и подписи осей.
Пример кода приведён ниже.
// Создайте экземпляр класса Presentation
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 20, 100, 600, 400);
chart.getPlotArea().setX(0.2f);
chart.getPlotArea().setY(0.2f);
chart.getPlotArea().setWidth(0.7f);
chart.getPlotArea().setHeight(0.7f);
chart.getPlotArea().setLayoutTargetType(LayoutTargetType.Inner);
pres.save("SetLayoutMode_outer.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Часто задаваемые вопросы
В каких единицах возвращаются фактические x, фактические y, фактическая ширина и фактическая высота?
В пунктах; 1 дюйм = 72 пункта. Это единицы координат Aspose.Slides.
Чем отличается область построения от области диаграммы с точки зрения содержимого?
Область построения — это регион рисования данных (серии, линии сетки, линии тренда и т.д.); область диаграммы включает окружающие элементы (заголовок, легенду и т.п.). В 3‑D диаграммах область построения также включает стены/пол и оси.
Как интерпретируются x, y, ширина и высота области построения, когда компоновка задаётся вручную?
Это доли (0–1) от общего размера диаграммы; в этом режиме автоматическое позиционирование отключено, и используются указанные вами доли.
Почему позиция области построения меняется после добавления/перемещения легенды?
Легенда находится в области диаграммы за пределами области построения, но влияет на компоновку и доступное пространство, поэтому область построения может смещаться, когда включено автоматическое позиционирование. (Это стандартное поведение диаграмм PowerPoint.)