Данные точек диаграммы дерева и солнечного графика
Среди других типов диаграмм PowerPoint есть два “иерархических” типа - Древовидная диаграмма и Солнечная диаграмма (также известная как солнечная графика, солнечная диаграмма, радиальная диаграмма, радиальный график или многоуровневая круговая диаграмма). Эти диаграммы отображают иерархические данные, организованные как дерево - от листьев к вершине ветки. Листья определяются данными точек серии, а каждый последующий уровень вложенной группировки определяется соответствующей категорией. Aspose.Slides для C++ позволяет форматировать точки данных солнечной диаграммы и древовидной диаграммы на C++.
Вот солнечная диаграмма, где данные в колонке Series1 определяют узлы листьев, в то время как другие колонки определяют иерархические точки данных:
Давайте начнем с добавления новой солнечной диаграммы в презентацию:
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);
// ...
Смотрите также
Если необходимо форматировать точки данных диаграммы, мы должны использовать следующее:
IChartDataPointLevelsManager, IChartDataPointLevel классы и 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);
Установить метку и цвет точки данных
Установить метку данных “Ветвь 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());
Установить цвет ветки точки данных
Изменить цвет ветки “Стебель 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);