Puntos de Datos de Gráfico de Treemap y Sunburst

Entre otros tipos de gráficos de PowerPoint, hay dos tipos “jerárquicos” - Treemap y Sunburst (también conocido como Gráfico Sunburst, Diagrama Sunburst, Gráfico Radial o Gráfico Circular de Múltiples Niveles). Estos gráficos muestran datos jerárquicos organizados como un árbol - desde las hojas hasta la parte superior de la rama. Las hojas están definidas por los puntos de datos de la serie, y cada nivel de agrupación anidada subsiguiente está definido por la categoría correspondiente. Aspose.Slides para C++ permite formatear los puntos de datos del Gráfico Sunburst y Treemap en C++.

Aquí hay un Gráfico Sunburst, donde los datos en la columna Series1 definen los nodos hoja, mientras que otras columnas definen los puntos de datos jerárquicos:

todo:image_alt_text

Comencemos añadiendo un nuevo gráfico Sunburst a la presentación:

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

Si hay necesidad de formatear los puntos de datos del gráfico, debemos usar lo siguiente:

IChartDataPointLevelsManagerIChartDataPointLevel clases  y IChartDataPoint::get_DataPointLevels() método  proporcionan acceso para formatear los puntos de datos de los gráficos Treemap y Sunburst.  IChartDataPointLevelsManager se utiliza para acceder a categorías multinivel - representa el contenedor de  IChartDataPointLevel objetos. Básicamente es un envoltorio para  IChartCategoryLevelsManager con las propiedades específicas añadidas para los puntos de datos.  La clase IChartDataPointLevel tiene dos métodos: get_Format()get_Label() que proporcionan acceso a los ajustes correspondientes.

Mostrar Valor del Punto de Datos

Mostrar valor del punto de datos “Hoja 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

Establecer Etiqueta y Color del Punto de Datos

Establecer la etiqueta de datos de “Rama 1” para mostrar el nombre de la serie (“Series1”) en lugar del nombre de la categoría. Luego establecer el color del texto a amarillo:

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

Establecer Color de Rama del Punto de Datos

Cambiar el color de la rama “Tallo 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