Настройка таблиц данных диаграмм в презентациях на Android
Обзор
Aspose.Slides for Android via Java позволяет отображать таблицу данных диаграммы и настраивать форматирование текста, границы и ключи легенды. В этой статье объясняется, как включить таблицу, отформатировать её текст, управлять каждым типом границы и показывать или скрывать ключи легенды. Примеры сохраняют настроенные диаграммы в файлы PPTX.
Установить свойства шрифта
Чтобы отобразить таблицу данных диаграммы, передайте true методу setDataTable. Используйте getChartDataTable для доступа к таблице и настройки её форматирования текста.
- Загрузите презентацию, используя класс Presentation.
- Добавьте сгруппированную столбчатую диаграмму на первый слайд.
- Включите таблицу данных диаграммы.
- Включите полужирный текст с помощью setFontBold и передайте
20в setFontHeight для текста размером 20 пунктов. - Сохраните изменённую презентацию.
Следующий пример требует наличие файла test.pptx в текущем каталоге с хотя бы одним слайдом. Он добавляет диаграмму с данными по умолчанию в позицию (50, 50) с шириной 600 пунктов и высотой 400 пунктов. Сохранённый output.pptx содержит диаграмму с включённой таблицей данных и применёнными указанными настройками шрифта.
import com.aspose.slides.*;
Presentation presentation = new Presentation("test.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
IChartPortionFormat portionFormat = chart.getChartDataTable().getTextFormat().getPortionFormat();
portionFormat.setFontBold(NullableBool.True);
portionFormat.setFontHeight(20);
presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Настроить границы таблицы данных
Включите таблицу с помощью IChart.setDataTable и получите к ней доступ через IChart.getChartDataTable. Вы можете независимо управлять тремя типами границ:
- setBorderHorizontal управляет горизонтальными границами ячеек.
- setBorderVertical управляет вертикальными границами ячеек.
- setBorderOutline управляет внешней границей таблицы.
Передайте true каждому методу, чтобы отобразить соответствующие границы, либо false, чтобы скрыть их. Следующий пример создаёт сгруппированную столбчатую диаграмму с данными по умолчанию, отображает горизонтальные границы и внешнюю границу, скрывая вертикальные границы. Входной файл не требуется. Позиция и размеры диаграммы задаются в пунктах.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
IDataTable dataTable = chart.getChartDataTable();
dataTable.setBorderHorizontal(true);
dataTable.setBorderVertical(false);
dataTable.setBorderOutline(true);
presentation.save("data-table-borders.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Сравнение ниже использует одни и те же данные диаграммы и настройки ключей легенды во всех четырёх случаях. Начиная с включёнными всеми границами, каждый последующий вариант отключает только одну из границ. Вариант в нижнем левом углу соответствует настройкам границ в примере.

Показать или скрыть ключи легенды
Ключи легенды — это небольшие цветные маркеры рядом с названиями рядов в таблице данных. Они помогают читателю сопоставить каждую строку таблицы с рядом диаграммы. Передайте true методу setShowLegendKey, чтобы показать эти маркеры, либо false, чтобы скрыть их.
Отдельная легенда диаграммы управляется методом IChart.setLegend. Эти настройки независимы: скрытие отдельной легенды не скрывает ключи в таблице данных, и скрытие ключей в таблице не скрывает отдельную легенду.
Следующий пример создаёт диаграмму с данными по умолчанию, включает её таблицу данных и показывает ключи легенды внутри неё, одновременно скрывая отдельную легенду. Все границы таблицы явно включены. Входная презентация не требуется. Чтобы скрыть только ключи таблицы, передайте false методу setShowLegendKey.
import com.aspose.slides.*;
Presentation presentation = new Presentation();
try {
ISlide slide = presentation.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
chart.setDataTable(true);
chart.setLegend(false);
IDataTable dataTable = chart.getChartDataTable();
dataTable.setBorderHorizontal(true);
dataTable.setBorderVertical(true);
dataTable.setBorderOutline(true);
dataTable.setShowLegendKey(true);
presentation.save("data-table-legend-keys.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Сравнение ниже демонстрирует одну и ту же таблицу с включёнными и отключёнными ключами легенды. Все границы остаются включёнными, а отдельная легенда диаграммы скрыта в обоих случаях.

Часто задаваемые вопросы
Могу ли я показывать ключи легенды в таблице данных диаграммы?
Да. Передайте true в setShowLegendKey, чтобы отобразить ключи легенды, или false, чтобы скрыть их.
Сохранится ли таблица данных при экспорте презентации в PDF, HTML или изображения?
Да. Aspose.Slides рендерит диаграмму и её отображаемую таблицу данных как часть слайда при экспорте в PDF, HTML, или images.
Могу ли я работать с таблицами данных в диаграммах, загруженных из шаблона?
Да. Для диаграммы, загруженной из существующей презентации или шаблона, используйте hasDataTable и setDataTable, чтобы проверить или изменить, отображается ли её таблица данных.
Как найти диаграммы с включённой таблицей данных?
Пройдитесь по всем фигурам на каждом слайде, определите диаграммы и вызовите их метод hasDataTable. Значение true указывает, что таблица данных включена.