Обычные диаграммы в слайдах Java
Введение в обычные диаграммы в слайдах Java
В этом уроке мы рассмотрим процесс создания обычных диаграмм в Java Slides с использованием API Aspose.Slides для Java. Мы будем использовать пошаговые инструкции вместе с исходным кодом, чтобы продемонстрировать, как создать гистограмму с кластерами в презентации PowerPoint.
Предварительные условия
Прежде чем начать, убедитесь, что у вас есть следующие предварительные условия:
- Установлен Aspose.Slides для Java API.
- Настроена среда разработки Java.
- Базовые знания Java-программирования.
Шаг 1: Настройка проекта
Убедитесь, что у вас есть каталог для вашего проекта. Назовем его «Каталог ваших документов», как указано в коде. Вы можете заменить это фактическим путем к каталогу вашего проекта.
// Путь к каталогу документов.
String dataDir = "Your Document Directory";
// Создайте каталог, если он еще не существует.
boolean IsExists = new File(dataDir).exists();
if (!IsExists)
new File(dataDir).mkdirs();
Шаг 2: Создание презентации
Теперь давайте создадим презентацию PowerPoint и получим доступ к ее первому слайду.
// Создать класс презентации, представляющий файл PPTX.
Presentation pres = new Presentation();
// Доступ к первому слайду
ISlide sld = pres.getSlides().get_Item(0);
Шаг 3. Добавление диаграммы
Мы добавим на слайд кластеризованную столбчатую диаграмму и зададим ее заголовок.
// Добавить диаграмму с данными по умолчанию
IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Название диаграммы настроек
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
Шаг 4: Настройка данных диаграммы
Далее мы установим данные диаграммы, определив серии и категории.
// Установите для первой серии значение «Показать значения».
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Установка индекса таблицы данных диаграммы
int defaultWorksheetIndex = 0;
// Получение листа данных диаграммы
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Удалить созданные по умолчанию серии и категории
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Добавляем новую серию
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType());
// Добавление новых категорий
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Category 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Category 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Category 3"));
Шаг 5. Заполнение данных серии
Теперь давайте заполним точки данных ряда для диаграммы.
// Возьмите первую серию диаграмм
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Заполнение данных серии
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// Установка цвета заливки для серии
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
// Возьмите вторую серию диаграмм
series = chart.getChartData().getSeries().get_Item(1);
// Заполнение данных серии
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// Установка цвета заливки для серии
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
Шаг 6. Настройка ярлыков
Давайте настроим метки данных для серии диаграмм.
// На первом ярлыке будет указано название категории.
IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// Показать значение третьей метки с названием серии и разделителем.
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
Шаг 7: Сохранение презентации
Наконец, сохраните презентацию с диаграммой в каталоге вашего проекта.
pres.save(dataDir + "AsposeChart_out.pptx", SaveFormat.Pptx);
Вот и все! Вы успешно создали кластеризованную столбчатую диаграмму в презентации PowerPoint с помощью Aspose.Slides для Java. Вы можете настроить эту диаграмму в соответствии с вашими требованиями.
Полный исходный код для обычных диаграмм в слайдах Java
// Путь к каталогу документов.
String dataDir = "Your Document Directory";
// Создайте каталог, если он еще не существует.
boolean IsExists = new File(dataDir).exists();
if (!IsExists)
new File(dataDir).mkdirs();
// Создать класс презентации, представляющий файл PPTX.
Presentation pres = new Presentation();
// Доступ к первому слайду
ISlide sld = pres.getSlides().get_Item(0);
// Добавить диаграмму с данными по умолчанию
IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Название диаграммы настроек
// Chart.getChartTitle().getTextFrameForOverriding().setText("Пример заголовка");
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Установите для первой серии значение «Показать значения».
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Установка индекса таблицы данных диаграммы
int defaultWorksheetIndex = 0;
// Получение листа данных диаграммы
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Удалить созданные по умолчанию серии и категории
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
int s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// Добавляем новую серию
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType());
// Добавление новых категорий
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Возьмите первую серию диаграмм
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Теперь заполняем данные серии
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// Установка цвета заливки для серии
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
// Возьмите вторую серию диаграмм
series = chart.getChartData().getSeries().get_Item(1);
// Теперь заполняем данные серии
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// Установка цвета заливки для серии
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
// На первом ярлыке будет показано название категории.
IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// Показать значение для третьего ярлыка
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// Сохранить презентацию с диаграммой
pres.save(dataDir + "AsposeChart_out.pptx", SaveFormat.Pptx);
Заключение
В этом уроке мы узнали, как создавать обычные диаграммы в Java Slides с использованием API Aspose.Slides для Java. Мы рассмотрели пошаговое руководство с исходным кодом для создания гистограммы с кластерами в презентации PowerPoint.
Часто задаваемые вопросы
Как изменить тип диаграммы?
Чтобы изменить тип диаграммы, изменитеChartType
параметр при добавлении диаграммы с помощьюsld.getShapes().addChart()
. Вы можете выбирать из различных типов диаграмм, доступных в Aspose.Slides.
Могу ли я изменить цвета серии диаграмм?
Да, вы можете изменить цвета серий диаграмм, задав цвет заливки для каждой серии с помощьюseries.getFormat().getFill().getSolidFillColor().setColor(Color.YOUR_COLOR)
.
Как добавить на диаграмму дополнительные категории или серии?
Вы можете добавить на диаграмму дополнительные категории или серии, добавив новые точки данных и метки с помощью кнопкиchart.getChartData().getCategories().add()
иchart.getChartData().getSeries().add()
методы.
Как я могу настроить заголовок диаграммы дальше?
Вы можете дополнительно настроить заголовок диаграммы, изменив свойстваchart.getChartTitle()
такие как выравнивание текста, размер шрифта и цвет.
Как сохранить диаграмму в другом формате файла?
Чтобы сохранить диаграмму в другом формате файла, изменитеSaveFormat
параметр вpres.save()
метод в нужный формат (например, PDF, PNG, JPEG).