Trend Line
Add Trend Line
Aspose.Slides for C++ provides a simple API for managing different chart Trend Lines:
- Create an instance of the Presentation class.
- Obtain a slide’s reference by its index.
- Add a chart with default data along with the any of desired type (this example uses ChartType.ClusteredColumn).
- Adding the exponential trend line for chart series 1.
- Adding a linear trend line for chart series 1.
- Adding a logarithmic trend line for chart series 2.
- Adding moving average trend line for chart series 2.
- Adding a polynomial trend line for chart series 3.
- Adding a power trend line for chart series 3.
- Write the modified presentation to a PPTX file.
The following code is used to create a chart with Trend Lines.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
// The path to the documents directory. | |
const String outPath = u"../out/ChartTrendLines_out.pptx"; | |
//Instantiate Presentation class that represents PPTX file | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
//Access first slide | |
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0); | |
// Add chart with default data | |
SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500); | |
// Adding ponential trend line for chart series 1 | |
SharedPtr<ITrendline> tredLinep = chart->get_ChartData()->get_Series()->idx_get(0)->get_TrendLines()->Add(Aspose::Slides::Charts::TrendlineType::Exponential); | |
tredLinep->set_DisplayEquation (false); | |
tredLinep->set_DisplayRSquaredValue( false); | |
// Adding Linear trend line for chart series 1 | |
SharedPtr<ITrendline> tredLineLin = chart->get_ChartData()->get_Series()->idx_get(0)->get_TrendLines()->Add(Aspose::Slides::Charts::TrendlineType::Linear); | |
tredLineLin->set_TrendlineType(TrendlineType::Linear); | |
tredLineLin->get_Format()->get_Line()->get_FillFormat()->set_FillType(FillType::Solid); | |
tredLineLin->get_Format()->get_Line()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red()); | |
// Adding Logarithmic trend line for chart series 2 | |
SharedPtr<ITrendline> tredLineLog = chart->get_ChartData()->get_Series()->idx_get(1)->get_TrendLines()->Add(Aspose::Slides::Charts::TrendlineType::Logarithmic); | |
tredLineLog->set_TrendlineType(TrendlineType::Logarithmic); | |
tredLineLog->AddTextFrameForOverriding(u"New log trend line"); | |
// Adding MovingAverage trend line for chart series 2 | |
SharedPtr<ITrendline> tredLineMovAvg = chart->get_ChartData()->get_Series()->idx_get(1)->get_TrendLines()->Add(Aspose::Slides::Charts::TrendlineType::MovingAverage); | |
tredLineMovAvg->set_TrendlineType(TrendlineType::MovingAverage); | |
tredLineMovAvg->set_Period(3); | |
tredLineMovAvg->set_TrendlineName(u"New TrendLine Name"); | |
// Adding Polynomial trend line for chart series 3 | |
SharedPtr<ITrendline> tredLinePol = chart->get_ChartData()->get_Series()->idx_get(2)->get_TrendLines()->Add(Aspose::Slides::Charts::TrendlineType::Polynomial); | |
tredLinePol->set_TrendlineType(TrendlineType::Polynomial); | |
tredLinePol->set_Forward (1); | |
tredLinePol->set_Order (3); | |
// Adding Power trend line for chart series 3 | |
SharedPtr<ITrendline> tredLinePower = chart->get_ChartData()->get_Series()->idx_get(1)->get_TrendLines()->Add(Aspose::Slides::Charts::TrendlineType::Power); | |
tredLinePower->set_TrendlineType( TrendlineType::Power); | |
tredLinePower->set_Backward( 1); | |
// Write the presentation file to disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Add Custom Line
Aspose.Slides for C++ provides a simple API to add custom lines in a chart. To add a simple plain line to a selected slide of the presentation, please follow the steps below:
- Create an instance of Presentation class
- Obtain the reference of a slide by using its Index
- Create a new chart using AddChart method exposed by Shapes object
- Add an AutoShape of Line type using AddAutoShape method exposed by Shapes object
- Set the Color of the shape lines.
- Write the modified presentation as a PPTX file
The following code is used to create a chart with Custom Lines.
// The path to the documents directory. | |
const String outPath = u"../out/AddCustomLines.pptx"; | |
// Load the desired the presentation | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
SharedPtr<IChart> chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 400); | |
SharedPtr<IAutoShape> shape = chart->get_UserShapes()->get_Shapes()->AddAutoShape(ShapeType::Line, 0, chart->get_Height() / 2, chart->get_Width(), 0); | |
shape->get_LineFormat()->get_FillFormat()->set_FillType(FillType::Solid); | |
shape->get_LineFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Red()); | |
//Write the PPTX to Disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |