Определите, находятся ли данные во второй круговой или столбчатой диаграмме на круговой диаграмме с обрывным или столбчатой диаграмме

Возможные сценарии использования

Вы можете определить, находятся ли точки данных серии во втором круге на диаграмме ‘Круг на круге’ или в столбе диаграммы ‘Столбец на круге’ с помощью Aspose.Cells. Используйте свойство ChartPoint.IsInSecondaryPlot, чтобы определить это.

Пожалуйста, загрузите образец excel-файла, используемый в следующем образце кода, и проверьте его вывод в консоль. Если вы откроете образец excel-файла, вы увидите, что все точки данных, которые меньше 10, находятся внутри столба ‘Столбец на круге’, как показано в выводе консоли.

Определение того, находятся ли точки данных во втором сегменте или в столбце на круговой из кругов или столбчатой из кругов диаграмме

В следующем образце кода показано, как определить, находятся ли точки данных во втором сегменте или в столбце на диаграмме Круговой из кругов или Столбчатая из кругов.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
//Load source excel file containing Bar of Pie chart
Workbook wb = new Workbook(dataDir + "PieBars.xlsx");
// Access first worksheet
Worksheet ws = wb.Worksheets[0];
// Access first chart which is Bar of Pie chart and calculate it
Chart ch = ws.Charts[0];
ch.Calculate();
// Access the chart series
Series srs = ch.NSeries[0];
/*
* Print the data points of the chart series and
* check its IsInSecondaryPlot property to determine
* if data point is inside the bar or pie
*/
for (int i = 0; i < srs.Points.Count; i++)
{
//Access chart point
ChartPoint cp = srs.Points[i];
//Skip null values
if (cp.YValue == null)
continue;
/*
* Print the chart point value and see if it is inside bar or pie.
* If the IsInSecondaryPlot is true, then the data point is inside bar
* otherwise it is inside the pie.
*/
Console.WriteLine("Value: " + cp.YValue);
Console.WriteLine("IsInSecondaryPlot: " + cp.IsInSecondaryPlot);
Console.WriteLine();
}

Вывод в консоль

Пожалуйста, ознакомьтесь с выводом консоли, сгенерированным после выполнения вышеуказанного образца кода с образцом excel-файла. Если IsInSecondaryPlot равно false, то точка данных внутри круга, а если true, то точка данных внутри столба.

 Value: 15

IsInSecondaryPlot: False

Value: 9

IsInSecondaryPlot: True

Value: 2

IsInSecondaryPlot: True

Value: 40

IsInSecondaryPlot: False

Value: 5

IsInSecondaryPlot: True

Value: 4

IsInSecondaryPlot: True

Value: 25

IsInSecondaryPlot: False