Создание радиолокационной диаграммы в слайдах Java
Введение в создание радиолокационной диаграммы в слайдах Java
В этом уроке мы проведем вас через процесс создания радиолокационной диаграммы с использованием API Aspose.Slides для Java. Радарные диаграммы полезны для визуализации данных в виде круговой структуры, что упрощает сравнение нескольких рядов данных. Мы предоставим пошаговые инструкции вместе с исходным кодом Java.
Предварительные условия
Прежде чем мы начнем, убедитесь, что в ваш проект интегрирована библиотека Aspose.Slides for Java. Вы можете скачать библиотеку сздесь.
Шаг 1: Настройка презентации
Начнем с настройки новой презентации PowerPoint и добавления в нее слайда.
String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
Шаг 2. Добавление радиолокационной диаграммы
Далее мы добавим на слайд радиолокационную диаграмму. Уточним положение и размеры диаграммы.
ISlide sld = pres.getSlides().get_Item(0);
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
Шаг 3: Настройка данных диаграммы
Теперь мы установим данные диаграммы. Это включает в себя создание книги данных, добавление категорий и серий.
int defaultWorksheetIndex = 0;
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
// Установить заголовок диаграммы
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
// Удалить созданные по умолчанию серии и категории
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();
// Добавление новых категорий
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Category 1"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Category 3"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Category 5"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 4, 0, "Category 7"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 5, 0, "Category 9"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 6, 0, "Category 11"));
// Добавляем новую серию
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), ichart.getType());
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), ichart.getType());
Шаг 4. Заполнение данных серии
Теперь мы заполним ряды данных для нашей радиолокационной диаграммы.
// Заполнение данных серии для серии 1
IChartSeries series = ichart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 2.7));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 1.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 1, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 1, 5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 1, 3.5));
// Установить цвет серии
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
// Заполнение данных серии для серии 2
series = ichart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 2.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 1.6));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 2, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 2, 4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 2, 3.6));
// Установить цвет серии
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
Шаг 5. Настройка оси и легенд
Давайте настроим ось и легенды для нашей радиолокационной диаграммы.
// Установить положение легенды
ichart.getLegend().setPosition(LegendPositionType.Bottom);
// Настройка свойств текста оси категорий
IChartPortionFormat txtCat = ichart.getAxes().getHorizontalAxis().getTextFormat().getPortionFormat();
txtCat.setFontBold(NullableBool.True);
txtCat.setFontHeight(10);
txtCat.getFillFormat().setFillType(FillType.Solid);
txtCat.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtCat.setLatinFont(new FontData("Calibri"));
// Настройка свойств текста легенды
IChartPortionFormat txtleg = ichart.getLegend().getTextFormat().getPortionFormat();
txtleg.setFontBold(NullableBool.True);
txtleg.setFontHeight(10);
txtleg.getFillFormat().setFillType(FillType.Solid);
txtleg.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtleg.setLatinFont(new FontData("Calibri"));
// Настройка свойств текста оси значений
IChartPortionFormat txtVal = ichart.getAxes().getVerticalAxis().getTextFormat().getPortionFormat();
txtVal.setFontBold(NullableBool.True);
txtVal.setFontHeight(10);
txtVal.getFillFormat().setFillType(FillType.Solid);
txtVal.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtVal.setLatinFont(new FontData("Calibri"));
// Настройка формата номера оси значения
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
// Установка значения основной единицы диаграммы
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
Шаг 6: Сохранение презентации
Наконец, сохраните созданную презентацию с радиолокационной диаграммой.
.
pres.save(outPath, SaveFormat.Pptx);
Вот и все! Вы успешно создали диаграмму в презентации PowerPoint с помощью Aspose.Slides для Java. Теперь вы можете дополнительно настроить этот пример в соответствии с вашими конкретными потребностями.
Полный исходный код для создания радиолокационной диаграммы в слайдах Java
String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
try
{
// Доступ к первому слайду
ISlide sld = pres.getSlides().get_Item(0);
// Добавить радарную диаграмму
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
// Установка индекса таблицы данных диаграммы
int defaultWorksheetIndex = 0;
// Получение данных диаграммы. Рабочий лист
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
// Установить заголовок диаграммы
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
// Удалить созданные по умолчанию серии и категории
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();
// Добавление новых категорий
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 3"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 5"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 4, 0, "Caetegoty 7"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 5, 0, "Caetegoty 9"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 6, 0, "Caetegoty 11"));
// Добавляем новую серию
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), ichart.getType());
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), ichart.getType());
// Теперь заполняем данные серии
IChartSeries series = ichart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 2.7));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 1.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 1, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 1, 5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 1, 3.5));
// Установить цвет серии
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
//Теперь заполняем данные другой серии
series = ichart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 2.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 1.6));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 2, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 2, 4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 2, 3.6));
// Установить цвет серии
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
// Установить положение легенды
ichart.getLegend().setPosition(LegendPositionType.Bottom);
// Настройка свойств текста оси категорий
IChartPortionFormat txtCat = ichart.getAxes().getHorizontalAxis().getTextFormat().getPortionFormat();
txtCat.setFontBold(NullableBool.True);
txtCat.setFontHeight(10);
txtCat.getFillFormat().setFillType(FillType.Solid);
txtCat.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtCat.setLatinFont(new FontData("Calibri"));
// Настройка свойств текста легенды
IChartPortionFormat txtleg = ichart.getLegend().getTextFormat().getPortionFormat();
txtleg.setFontBold(NullableBool.True);
txtleg.setFontHeight(10);
txtleg.getFillFormat().setFillType(FillType.Solid);
txtleg.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtCat.setLatinFont(new FontData("Calibri"));
// Настройка свойств текста оси значений
IChartPortionFormat txtVal = ichart.getAxes().getVerticalAxis().getTextFormat().getPortionFormat();
txtVal.setFontBold(NullableBool.True);
txtVal.setFontHeight(10);
txtVal.getFillFormat().setFillType(FillType.Solid);
txtVal.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtVal.setLatinFont(new FontData("Calibri"));
// Настройка формата номера оси значения
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
// Установка значения основной единицы диаграммы
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
// Сохранить созданную презентацию
pres.save(outPath, SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Заключение
В этом уроке вы узнали, как создать лепестковую диаграмму в презентации PowerPoint с помощью Aspose.Slides для Java. Вы можете применять эти концепции для эффективной визуализации и представления данных в приложениях Java.
Часто задаваемые вопросы
Как изменить заголовок диаграммы?
Чтобы изменить заголовок диаграммы, измените следующую строку:
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
Могу ли я добавить дополнительные ряды данных на радиолокационную диаграмму?
Да, вы можете добавить дополнительные серии данных, выполнив шаги «Шаг 3» и «Шаг 4» для каждой дополнительной серии, которую вы хотите включить.
Как настроить цвета диаграммы?
Вы можете настроить цвета серии, изменив строки, которые задаютSolidFillColor
свойство для каждой серии. Например:
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
Как изменить метки осей и форматирование?
Обратитесь к «Шагу 5», чтобы настроить метки осей и форматирование, включая размер и цвет шрифта.
Как сохранить диаграмму в другом формате файла?
Вы можете изменить формат вывода, изменив расширение файла вoutPath
переменную и используя соответствующийSaveFormat
. Например, чтобы сохранить в формате PDF, используйтеSaveFormat.Pdf
.