Axe de Graphique

Obtenir les Valeurs Max sur l’Axe Vertical des Graphiques

Aspose.Slides pour C++ vous permet d’obtenir les valeurs minimum et maximum sur un axe vertical. Suivez ces étapes :

  1. Créez une instance de la classe Presentation.
  2. Accédez à la première diapositive.
  3. Ajoutez un graphique avec des données par défaut.
  4. Obtenez la valeur maximum réelle sur l’axe.
  5. Obtenez la valeur minimum réelle sur l’axe.
  6. Obtenez l’unité majeure réelle de l’axe.
  7. Obtenez l’unité mineure réelle de l’axe.
  8. Obtenez l’échelle de l’unité majeure réelle de l’axe.
  9. Obtenez l’échelle de l’unité mineure réelle de l’axe.

Ce code exemple—une implémentation des étapes ci-dessus—vous montre comment obtenir les valeurs requises en C++ :

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = System::ExplicitCast<Chart>(shapes->AddChart(ChartType::Area, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();

auto axes = chart->get_Axes();

double maxValue = axes->get_VerticalAxis()->get_ActualMaxValue();
double minValue = axes->get_VerticalAxis()->get_ActualMinValue();

double majorUnit = axes->get_HorizontalAxis()->get_ActualMajorUnit();
double minorUnit = axes->get_HorizontalAxis()->get_ActualMinorUnit();

// Enregistre la présentation
pres->Save(u"ErrorBars_out.pptx", SaveFormat::Pptx);

Échanger les Données entre les Axes

Aspose.Slides vous permet d’échanger rapidement les données entre les axes—les données représentées sur l’axe vertical (axe des y) passent à l’axe horizontal (axe des x) et vice versa.

Ce code C++ vous montre comment effectuer la tâche d’échange de données entre les axes sur un graphique :

// Crée une présentation vide
auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = shapes->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 400.0f, 300.0f);

// Échange les lignes et les colonnes
chart->get_ChartData()->SwitchRowColumn();

// Enregistre la présentation
pres->Save(u"SwitchChartRowColumns_out.pptx", SaveFormat::Pptx);

Désactiver l’Axe Vertical pour les Graphiques Linéaires

Ce code C++ vous montre comment cacher l’axe vertical pour un graphique linéaire :

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = shapes->AddChart(ChartType::Line, 100.0f, 100.0f, 400.0f, 300.0f);
chart->get_Axes()->get_VerticalAxis()->set_IsVisible(false);

pres->Save(u"chart.pptx", SaveFormat::Pptx);

Désactiver l’Axe Horizontal pour les Graphiques Linéaires

Ce code vous montre comment cacher l’axe horizontal pour un graphique linéaire :

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = shapes->AddChart(ChartType::Line, 100.0f, 100.0f, 400.0f, 300.0f);
chart->get_Axes()->get_HorizontalAxis()->set_IsVisible(false);

pres->Save(u"chart.pptx", SaveFormat::Pptx);

Changer l’Axe de Catégorie

En utilisant la méthode set_CategoryAxisType(), vous pouvez spécifier votre type d’axe de catégorie préféré (date ou texte). Ce code en C++ démontre l’opération :

auto presentation = System::MakeObject<Presentation>(u"ExistingChart.pptx");
auto chart = System::AsCast<IChart>(presentation->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
auto horizontalAxis = chart->get_Axes()->get_HorizontalAxis();

horizontalAxis->set_CategoryAxisType(CategoryAxisType::Date);
horizontalAxis->set_IsAutomaticMajorUnit(false);
horizontalAxis->set_MajorUnit(1);
horizontalAxis->set_MajorUnitScale(TimeUnitType::Months);

presentation->Save(u"ChangeChartCategoryAxis_out.pptx", SaveFormat::Pptx);

Définir le Format de Date pour la Valeur de l’Axe de Catégorie

Aspose.Slides pour C++ vous permet de définir le format de date pour une valeur d’axe de catégorie. L’opération est démontrée dans ce code C++ :

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Area, 50.0f, 50.0f, 450.0f, 300.0f);

auto wb = chart->get_ChartData()->get_ChartDataWorkbook();

wb->Clear(0);

chart->get_ChartData()->get_Series()->Clear();
auto areaCategories = chart->get_ChartData()->get_Categories();
areaCategories->Clear();
areaCategories->Add(wb->GetCell(0, u"A2", ObjectExt::Box<double>(DateTime(2015, 1, 1).ToOADate())));
areaCategories->Add(wb->GetCell(0, u"A3", ObjectExt::Box<double>(DateTime(2016, 1, 1).ToOADate())));
areaCategories->Add(wb->GetCell(0, u"A4", ObjectExt::Box<double>(DateTime(2017, 1, 1).ToOADate())));
areaCategories->Add(wb->GetCell(0, u"A5", ObjectExt::Box<double>(DateTime(2018, 1, 1).ToOADate())));

auto series = chart->get_ChartData()->get_Series()->Add(ChartType::Line);
auto dataPoints = series->get_DataPoints();
dataPoints->AddDataPointForLineSeries(wb->GetCell(0, u"B2", ObjectExt::Box<int32_t>(1)));
dataPoints->AddDataPointForLineSeries(wb->GetCell(0, u"B3", ObjectExt::Box<int32_t>(2)));
dataPoints->AddDataPointForLineSeries(wb->GetCell(0, u"B4", ObjectExt::Box<int32_t>(3)));
dataPoints->AddDataPointForLineSeries(wb->GetCell(0, u"B5", ObjectExt::Box<int32_t>(4)));

auto horizontalAxis = chart->get_Axes()->get_HorizontalAxis();
horizontalAxis->set_CategoryAxisType(CategoryAxisType::Date);
horizontalAxis->set_IsNumberFormatLinkedToSource(false);
horizontalAxis->set_NumberFormat(u"yyyy");

pres->Save(u"test.pptx", SaveFormat::Pptx);

Définir l’Angle de Rotation pour le Titre de l’Axe du Graphique

Aspose.Slides pour C++ vous permet de définir l’angle de rotation pour le titre d’un axe de graphique. Ce code C++ démontre l’opération :

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = shapes->AddChart(ChartType::ClusteredColumn, 50.0f, 50.0f, 450.0f, 300.0f);
auto verticalAxis = chart->get_Axes()->get_VerticalAxis();
verticalAxis->set_HasTitle(true);
verticalAxis->get_Title()->get_TextFormat()->get_TextBlockFormat()->set_RotationAngle(90.0f);

pres->Save(u"test.pptx", SaveFormat::Pptx);

Définir la Position de l’Axe dans un Axe de Catégorie ou de Valeur

Aspose.Slides pour C++ vous permet de définir la position de l’axe dans un axe de catégorie ou de valeur. Ce code C++ montre comment effectuer la tâche :

auto pres = System::MakeObject<Presentation>();
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = shapes->AddChart(ChartType::ClusteredColumn, 50.0f, 50.0f, 450.0f, 300.0f);
chart->get_Axes()->get_HorizontalAxis()->set_AxisBetweenCategories(true);

pres->Save(u"AsposeScatterChart.pptx", SaveFormat::Pptx);

Activer l’Étiquetage de l’Unité d’Affichage sur l’Axe de Valeur du Graphique

Aspose.Slides pour C++ vous permet de configurer un graphique pour afficher une étiquette d’unité sur son axe de valeur. Ce code C++ démontre l’opération :

auto pres = System::MakeObject<Presentation>(u"Test.pptx");
auto shapes = pres->get_Slides()->idx_get(0)->get_Shapes();
auto chart = shapes->AddChart(ChartType::ClusteredColumn, 50.0f, 50.0f, 450.0f, 300.0f);
chart->get_Axes()->get_VerticalAxis()->set_DisplayUnit(DisplayUnitType::Millions);

pres->Save(u"Result.pptx", SaveFormat::Pptx);