JavaScript ve C++ kullanarak Pie of Pie veya Bar of Pie grafiklerinde İkinci Pasta veya Çubuğun veri noktalarını bulma

Olası Kullanım Senaryoları

Seri veri noktalarının ikinci pasta veya pasta-çubuğu içinde olup olmadığını C++ ve Aspose.Cells for JavaScript kullanarak kontrol edebilirsiniz. Bunu belirlemek için ChartPoint.isInSecondaryPlot() özelliğini kullanın.

Aşağıdaki örnek kodu indirerek ve kullanılan örnek Excel dosyasını deneyerek, verilerin 10’dan az olan tüm noktalarının Bar of Pie grafiğinde olduğunu görebilirsiniz. Ayrıca bu bilgiler konsol çıktısında da gösterilir.

Bir Pasta-grafik veya Çubuk-grafikte Veri Noktalarının İkinci Pasta’nın veya Pasta’nın Çubuğu’nun Üzerinde Olup Olmadığını Bulma

Aşağıdaki örnek kod, Pie of Pie veya Bar of Pie grafiklerindeki verilerin ikinci pasta veya bar içinde olup olmadığını nasıl kontrol edeceğinizi gösterir.

<!DOCTYPE html>
<html>
    <head>
        <title>Aspose.Cells Example</title>
    </head>
    <body>
        <h1>Bar of Pie Chart Data Points Example</h1>
        <input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
        <button id="runExample">Run Example</button>
        <a id="downloadLink" style="display: none;">Download Result</a>
        <div id="result"></div>
    </body>

    <script src="aspose.cells.js.min.js"></script>
    <script type="text/javascript">
        const { Workbook, SaveFormat, Worksheet, Cell, Utils } = AsposeCells;

        AsposeCells.onReady({
            license: "/lic/aspose.cells.enc",
            fontPath: "/fonts/",
            fontList: [
                "arial.ttf",
                "NotoSansSC-Regular.ttf"
            ]
        }).then(() => {
            console.log("Aspose.Cells initialized");
        });

        document.getElementById('runExample').addEventListener('click', async () => {
            const fileInput = document.getElementById('fileInput');
            const resultDiv = document.getElementById('result');
            resultDiv.innerHTML = '';
            if (!fileInput.files.length) {
                resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file (e.g., PieBars.xlsx).</p>';
                return;
            }

            const file = fileInput.files[0];
            const arrayBuffer = await file.arrayBuffer();

            // Instantiating a Workbook object from the uploaded file
            const workbook = new Workbook(new Uint8Array(arrayBuffer));

            // Access first worksheet
            const worksheet = workbook.worksheets.get(0);

            // Access first chart which is Bar of Pie chart and calculate it
            const chart = worksheet.charts.get(0);
            chart.calculate();

            // Access the chart series
            const series = chart.nSeries.get(0);

            // Iterate and collect output
            let outputLines = [];
            for (let i = 0; i < series.points.count; i++) {
                // Access chart point
                const chartPoint = series.points.get(i);

                // Skip null values
                if (chartPoint.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. 
                const valueLine = "Value: " + chartPoint.yValue;
                const inSecondaryLine = "IsInSecondaryPlot: " + chartPoint.isInSecondaryPlot();
                console.log(valueLine);
                console.log(inSecondaryLine);
                console.log();

                outputLines.push(valueLine);
                outputLines.push(inSecondaryLine);
                outputLines.push("");
            }

            if (outputLines.length === 0) {
                resultDiv.innerHTML = '<p style="color: orange;">No data points found or all values are null.</p>';
            } else {
                resultDiv.innerHTML = '<pre>' + outputLines.join('\n') + '</pre>';
            }
        });
    </script>
</html>

Konsol Çıktısı

Yukarıdaki örnek kodun çalıştırılmasının ardından üretilen konsol çıktısını örnek excel dosyası ile inceleyin. Eğer ChartPoint.isInSecondaryPlot() yanlış ise, veri noktası Pasta içinde veya doğruysa, veri noktası Çubuk içinde demektir.

  
 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