Práce s ChartSeries

Aspose.Words umožňuje uživatelům pracovat s ChartSeriesCollection několika způsoby.

Práce s ChartSeriesCollection grafu

Podívejme se na ChartSeries kolekci. Všechny řady grafů jsou k dispozici prostřednictvím 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;

Práce s jednou třídou ChartSeries

Zde je návod, jak pracovat s konkrétní sérií:

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);

Podívejte se na výsledek níže:

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

Všechny jednotlivé ChartSeries mají výchozí možnosti ChartDataPoint, zkuste je změnit pomocí následujícího kódu:

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

Jak pracovat s jedním ChartDataPoint ChartSeries

Pomocí ChartDataPoint můžete přizpůsobit formátování jednoho datového bodu řady grafů:

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);

Podívejte se na výsledek níže:

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