Calculs de Diagrammes
Calculer les Valeurs Réelles des Éléments du Diagramme
Aspose.Slides pour C++ fournit une API simple pour obtenir ces propriétés. Cela vous aidera à calculer les valeurs réelles des éléments du diagramme. Les valeurs réelles incluent la position des éléments qui mettent en œuvre l’interface IActualLayout (IActualLayout::get_ActualX(), IActualLayout::get_ActualY(), IActualLayout::get_ActualWidth(), IActualLayout::get_ActualHeight()) et les valeurs d’axes réelles (IAxis::get_ActualMaxValue(), IAxis::get_ActualMinValue(), IAxis::get_ActualMajorUnit(), IAxis::get_ActualMinorUnit(), IAxis::get_ActualMajorUnitScale(), IAxis::get_ActualMinorUnitScale()).
auto pres = System::MakeObject<Presentation>(u"test.pptx");
auto chart = System::ExplicitCast<Chart>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();
double x = chart->get_PlotArea()->get_ActualX();
double y = chart->get_PlotArea()->get_ActualY();
double w = chart->get_PlotArea()->get_ActualWidth();
double h = chart->get_PlotArea()->get_ActualHeight();
// Enregistrement de la présentation
pres->Save(u"Result.pptx", SaveFormat::Pptx);
Calculer la Position Réelle des Éléments Parent du Diagramme
Aspose.Slides pour C++ fournit une API simple pour obtenir ces propriétés. Les méthodes de IActualLayout fournissent des informations sur la position réelle de l’élément parent du diagramme. Il est nécessaire d’appeler la méthode IChart::ValidateChartLayout() au préalable pour remplir les propriétés avec des valeurs réelles.
// Création d'une présentation vide
auto pres = System::MakeObject<Presentation>();
auto chart = System::ExplicitCast<Chart>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();
double x = chart->get_PlotArea()->get_ActualX();
double y = chart->get_PlotArea()->get_ActualY();
double w = chart->get_PlotArea()->get_ActualWidth();
double h = chart->get_PlotArea()->get_ActualHeight();
Masquer des Informations du Diagramme
Ce sujet vous aide à comprendre comment masquer des informations du diagramme. En utilisant Aspose.Slides pour C++, vous pouvez masquer Titre, Axe Vertical, Axe Horizontal et Lignes de Grille du diagramme. L’exemple de code ci-dessous montre comment utiliser ces propriétés.
// The path to the documents directory. | |
const String outPath = u"../out/HideInformationFromChart.pptx"; | |
// Load the desired the presentation | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
SharedPtr<IChart> chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::LineWithMarkers, 140, 118, 320, 370); | |
//Hiding chart Title | |
chart->set_HasTitle(false); | |
///Hiding Values axis | |
chart->get_Axes()->get_VerticalAxis()->set_IsVisible(false); | |
//Category Axis visibility | |
chart->get_Axes()->get_HorizontalAxis()->set_IsVisible(false); | |
//Hiding Legend | |
chart->set_HasLegend(false); | |
//Hiding MajorGridLines | |
chart->get_Axes()->get_HorizontalAxis()->get_MajorGridLinesFormat()->get_Line()->get_FillFormat()->set_FillType(FillType::NoFill); | |
for (int i = 0; i < chart->get_ChartData()->get_Series()->get_Count(); i++) | |
{ | |
chart->get_ChartData()->get_Series()->RemoveAt(i); | |
} | |
SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0); | |
series->get_Marker()->set_Symbol(MarkerStyleType::Circle); | |
series->get_Labels()->get_DefaultDataLabelFormat()->set_ShowValue(true); | |
series->get_Labels()->get_DefaultDataLabelFormat()->set_Position(LegendDataLabelPosition::Top); | |
series->get_Marker()->set_Size(15); | |
//Setting series line color | |
series->get_Format()->get_Line()->get_FillFormat()->set_FillType(FillType::Solid); | |
series->get_Format()->get_Line()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Magenta()); | |
series->get_Format()->get_Line()->set_DashStyle(LineDashStyle::Solid); | |
//Write the PPTX to Disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Définir la Plage de Données pour le Diagramme
Aspose.Slides pour C++ a fourni l’API la plus simple pour définir la plage de données pour le diagramme de la manière la plus simple. Pour définir la plage de données pour le diagramme :
- Ouvrez une instance de la classe Presentation contenant le diagramme.
- Obtenez la référence d’une diapositive en utilisant son index.
- Parcourez toutes les formes pour trouver le diagramme désiré.
- Accédez aux données du diagramme et définissez la plage.
- Enregistrez la présentation modifiée en tant que fichier PPTX.
Les exemples de code suivants montrent comment mettre à jour un diagramme.
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 templatePath = u"../templates/ExistingChart.pptx"; | |
const String outPath = u"../out/DataRange_out.pptx"; | |
//Instantiate Presentation class that represents PPTX file | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath); | |
//Access first slide | |
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0); | |
// Add chart with default data | |
// SharedPtr<IChart> chart = DynamicCast<Aspose::Slides::Charts::IChart>(slide->get_Shapes()->idx_get(0)); | |
auto chart = DynamicCast<Aspose::Slides::Charts::Chart>(slide->get_Shapes()->idx_get(0)); | |
//Not working | |
//Set data range | |
// chart->get_ChartData()->SetRange("Sheet1!A1:B4"); | |
// Write the presentation file to disk | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |