Данные точек диаграммы дерева и солнечного графика

Среди других типов диаграмм PowerPoint есть два “иерархических” типа - Древовидная диаграмма и Солнечная диаграмма (также известная как солнечная графика, солнечная диаграмма, радиальная диаграмма, радиальный график или многоуровневая круговая диаграмма). Эти диаграммы отображают иерархические данные, организованные как дерево - от листьев к вершине ветки. Листья определяются данными точек серии, а каждый последующий уровень вложенной группировки определяется соответствующей категорией. Aspose.Slides для C++ позволяет форматировать точки данных солнечной диаграммы и древовидной диаграммы на C++.

Вот солнечная диаграмма, где данные в колонке Series1 определяют узлы листьев, в то время как другие колонки определяют иерархические точки данных:

todo:image_alt_text

Давайте начнем с добавления новой солнечной диаграммы в презентацию:

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
// ...

Если необходимо форматировать точки данных диаграммы, мы должны использовать следующее:

IChartDataPointLevelsManagerIChartDataPointLevel классы  и IChartDataPoint::get_DataPointLevels() метод  предоставляют доступ для форматирования точек данных древовидных и солнечных диаграмм.  IChartDataPointLevelsManager используется для доступа к многоуровневым категориям - он представляет собой контейнер  IChartDataPointLevel объектов. По сути, это обертка для  IChartCategoryLevelsManager с свойствами, добавленными специфически для точек данных.  Класс IChartDataPointLevel имеет два метода: get_Format() и  get_Label() , которые предоставляют доступ к соответствующим настройкам.

Показать значение точки данных

Показать значение точки данных “Лист 4”:

auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();
dataPoints->idx_get(3)->get_DataPointLevels()->idx_get(0)->get_Label()->get_DataLabelFormat()->set_ShowValue(true);

todo:image_alt_text

Установить метку и цвет точки данных

Установить метку данных “Ветвь 1”, чтобы отображалось название серии (“Series1”) вместо названия категории. Затем установить цвет текста на желтый:

auto branch1Label = dataPoints->idx_get(0)->get_DataPointLevels()->idx_get(2)->get_Label();
branch1Label->get_DataLabelFormat()->set_ShowCategoryName(false);
branch1Label->get_DataLabelFormat()->set_ShowSeriesName(true);

branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Yellow());

todo:image_alt_text

Установить цвет ветки точки данных

Изменить цвет ветки “Стебель 4”:

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();

auto stem4branch = dataPoints->idx_get(9)->get_DataPointLevels()->idx_get(1);
stem4branch->get_Format()->get_Fill()->set_FillType(FillType::Solid);
stem4branch->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(Color::get_Red());

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

todo:image_alt_text