Линия тренда
Добавить линию тренда
Aspose.Slides for Node.js via Java предоставляет простой API для управления различными линиями тренда диаграмм:
- Создать экземпляр класса Presentation.
- Получить ссылку на слайд по его индексу.
- Добавить диаграмму с данными по умолчанию и выбранным типом (в примере используется ChartType.ClusteredColumn).
- Добавить экспоненциальную линию тренда для серии диаграммы 1.
- Добавить линейную линию тренда для серии диаграммы 1.
- Добавить логарифмическую линию тренда для серии диаграммы 2.
- Добавить скользящее среднее как линию тренда для серии диаграммы 2.
- Добавить полиномиальную линию тренда для серии диаграммы 3.
- Добавить степенную линию тренда для серии диаграммы 3.
- Записать изменённую презентацию в файл PPTX.
Следующий код используется для создания диаграммы с линиями тренда.
// Создать экземпляр класса Presentation
var pres = new aspose.slides.Presentation();
try {
// Создание диаграммы с группированными столбцами
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 20, 20, 500, 400);
// Добавление экспоненциальной линии тренда для серии 1
var tredLinep = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(aspose.slides.TrendlineType.Exponential);
tredLinep.setDisplayEquation(false);
tredLinep.setDisplayRSquaredValue(false);
// Добавление линейной линии тренда для серии 1
var tredLineLin = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(aspose.slides.TrendlineType.Linear);
tredLineLin.setTrendlineType(aspose.slides.TrendlineType.Linear);
tredLineLin.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
tredLineLin.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "RED"));
// Добавление логарифмической линии тренда для серии 2
var tredLineLog = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(aspose.slides.TrendlineType.Logarithmic);
tredLineLog.setTrendlineType(aspose.slides.TrendlineType.Logarithmic);
tredLineLog.addTextFrameForOverriding("New log trend line");
// Добавление линии тренда скользящего среднего для серии 2
var tredLineMovAvg = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(aspose.slides.TrendlineType.MovingAverage);
tredLineMovAvg.setTrendlineType(aspose.slides.TrendlineType.MovingAverage);
tredLineMovAvg.setPeriod(3);
tredLineMovAvg.setTrendlineName("New TrendLine Name");
// Добавление полиномиальной линии тренда для серии 3
var tredLinePol = chart.getChartData().getSeries().get_Item(2).getTrendLines().add(aspose.slides.TrendlineType.Polynomial);
tredLinePol.setTrendlineType(aspose.slides.TrendlineType.Polynomial);
tredLinePol.setForward(1);
tredLinePol.setOrder(3);
// Добавление степенной линии тренда для серии 3
var tredLinePower = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(aspose.slides.TrendlineType.Power);
tredLinePower.setTrendlineType(aspose.slides.TrendlineType.Power);
tredLinePower.setBackward(1);
// Сохранение презентации
pres.save("ChartTrendLines_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Добавить пользовательскую линию
Aspose.Slides for Node.js via Java предоставляет простой API для добавления пользовательских линий в диаграмму. Чтобы добавить простую сплошную линию на выбранный слайд презентации, выполните следующие действия:
- Создать экземпляр класса Presentation.
- Получить ссылку на слайд, используя его индекс.
- Создать новую диаграмму с помощью метода AddChart, доступного у объекта Shapes.
- Добавить AutoShape типа Line с помощью метода AddAutoShape, доступного у объекта Shapes.
- Установить цвет линий фигуры.
- Сохранить изменённую презентацию в файл PPTX.
Следующий код используется для создания диаграммы с пользовательскими линиями.
// Создать экземпляр класса Presentation
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 400);
var shape = chart.getUserShapes().getShapes().addAutoShape(aspose.slides.ShapeType.Line, 0, chart.getHeight() / 2, chart.getWidth(), 0);
shape.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "RED"));
pres.save("Presentation.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
Часто задаваемые вопросы
Что означают «forward» и «backward» у линии тренда?
Это длина линии тренда, проецируемой вперёд/назад: для точечных (XY) диаграмм — в единицах оси; для недиаграммных диаграмм — в количестве категорий. Допустимы только неотрицательные значения.
Сохраняется ли линия тренда при экспорте презентации в PDF или SVG, либо при рендеринге слайда в изображение?
Да. Aspose.Slides конвертирует презентации в PDF/SVG и рендерит диаграммы в изображения; линии тренда, как часть диаграммы, сохраняются при этих операциях. Также доступен метод для экспорта изображения самой диаграммы.