Lavorare con ChartSeries

Aspose.Words consente agli utenti di lavorare con ChartSeriesCollection in alcuni modi.

Lavorare con ChartSeriesCollection del grafico

Diamo un’occhiata alla collezione ChartSeries. Tutte le serie di grafici sono disponibili tramite ChartSeriesCollection:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Get chart series collection.
System::SharedPtr<ChartSeriesCollection> seriesColl = chart->get_Series();
// Check series count.
std::cout << seriesColl->get_Count() << std::endl;

Lavorare con una singola classe ChartSeries

Ecco come lavorare con una serie particolare:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Get first series.
System::SharedPtr<ChartSeries> series0 = shape->get_Chart()->get_Series()->idx_get(0);
// Get second series.
System::SharedPtr<ChartSeries> series1 = shape->get_Chart()->get_Series()->idx_get(1);
// Change first series name.
series0->set_Name(u"My Name1");
// Change second series name.
series1->set_Name(u"My Name2");
// You can also specify whether the line connecting the points on the chart shall be smoothed using Catmull-Rom splines.
series0->set_Smooth(true);
series1->set_Smooth(true);

Si prega di vedere il risultato qui sotto:

work-with-chartseries-aspose-words-cpp-1

Tutti i singoli ChartSeries hanno opzioni predefinite ChartDataPoint, prova a utilizzare il seguente codice per modificarli:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// Specifies whether by default the parent element shall inverts its colors if the value is negative.
series0->set_InvertIfNegative(true);
// Set default marker symbol and size.
series0->get_Marker()->set_Symbol(MarkerSymbol::Circle);
series0->get_Marker()->set_Size(15);
series1->get_Marker()->set_Symbol(MarkerSymbol::Star);
series1->get_Marker()->set_Size(10);

work-with-chartseries-aspose-words-cpp-2

Come lavorare con un singolo ChartDataPoint di un ChartSeries

Utilizzando ChartDataPoint è possibile personalizzare la formattazione di un singolo punto dati della serie di grafici:

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// The path to the documents directory.
System::String outputDataDir = GetOutputDataDir_WorkingWithCharts();
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
System::SharedPtr<Shape> shape = builder->InsertChart(ChartType::Line, 432, 252);
System::SharedPtr<Chart> chart = shape->get_Chart();
// Get first series.
System::SharedPtr<ChartSeries> series0 = shape->get_Chart()->get_Series()->idx_get(0);
// Get second series.
System::SharedPtr<ChartSeries> series1 = shape->get_Chart()->get_Series()->idx_get(1);
System::SharedPtr<ChartDataPointCollection> dataPointCollection = series0->get_DataPoints();
// Set explosion.
dataPointCollection->idx_get(0)->set_Explosion(50);
// Set marker symbol and size.
dataPointCollection->idx_get(0)->get_Marker()->set_Symbol(MarkerSymbol::Circle);
dataPointCollection->idx_get(0)->get_Marker()->set_Size(15);
dataPointCollection->idx_get(1)->get_Marker()->set_Symbol(MarkerSymbol::Diamond);
dataPointCollection->idx_get(1)->get_Marker()->set_Size(20);
// Add data point to the third point of the second series.
series1->get_DataPoints()->idx_get(2)->set_InvertIfNegative(true);
series1->get_DataPoints()->idx_get(2)->get_Marker()->set_Symbol(MarkerSymbol::Star);
series1->get_DataPoints()->idx_get(2)->get_Marker()->set_Size(20);
System::String outputPath = outputDataDir + u"WorkWithSingleChartDataPoint.docx";
doc->Save(outputPath);

Si prega di vedere il risultato qui sotto:

work-with-chartseries-aspose-words-cpp-3