کار با ChartSeries

Aspose.Words به کاربران اجازه می دهد تا با ChartSeriesCollection به چند روش کار کنند.

کار با ChartSeriesCollection نمودار

بیایید به مجموعه ChartSeries نگاه کنیم. تمام سری های نمودار از طریق 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;

کار با کلاس Single ChartSeries

در اینجا نحوه کار با یک سری خاص آورده شده است:

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

لطفا نتیجه را در زیر ببینید:

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

همه گزینه های تک ChartSeries دارای گزینه های پیش فرض ChartDataPoint هستند، لطفا از کد زیر برای تغییر آنها استفاده کنید:

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

چگونه با تک ChartDataPoint از ChartSeriesکار کنیم

با استفاده از ChartDataPoint می توانید قالب بندی یک نقطه داده از سری نمودار را سفارشی کنید:

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

لطفا نتیجه را در زیر ببینید:

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