Работа с 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; |
Работа с един клас 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); |
Моля, вижте резултата по-долу:
Всички единични 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); |
Как да работите с един 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); |
Моля, вижте резултата по-долу: