Βελτιστοποίηση Υπολογισμών Διαγράμματος για Παρουσιάσεις σε Java

Επισκόπηση

Το Aspose.Slides παρέχει API για εργασία με υπολογισμούς διαγραμμάτων και δεδομένα διάταξης σε παρουσιάσεις. Αυτό το άρθρο δείχνει πώς να ανακτήσετε τις πραγματικές τιμές των στοιχείων του διαγράμματος, συμπεριλαμβανομένης της πραγματικής θέσης και του μεγέθους των στοιχείων που εφαρμόζουν το IActualLayout και των πραγματικών τιμών των αξόνων του διαγράμματος. Επίσης εξηγεί ότι αυτές οι τιμές γεμίζουν μετά την επαλήθευση της διάταξης του διαγράμματος.

Επιπλέον, το άρθρο παρουσιάζει πώς να λάβετε τη πραγματική θέση των γονικών στοιχείων του διαγράμματος και πώς να αποκρύψετε στοιχεία του διαγράμματος όπως ο τίτλος, οι άξονες, η υπόμνηση και οι γραμμές πλέγματος. Μαζί, αυτά τα παραδείγματα σας βοηθούν να επιθεωρήσετε τις πληροφορίες διάταξης του διαγράμματος και να ελέγξετε την ορατότητα των στοιχείων του διαγράμματος σε παρουσιάσεις PowerPoint προγραμματιστικά.

Υπολογίστε τις Πραγματικές Τιμές των Στοιχείων του Διαγράμματος

Το Aspose.Slides for Java παρέχει ένα απλό API για τη λήψη αυτών των ιδιοτήτων. Οι ιδιότητες της διεπαφής IAxis παρέχουν πληροφορίες για τη πραγματική θέση του στοιχείου άξονα του διαγράμματος (IAxis.getActualMaxValue, IAxis.getActualMinValue, IAxis.getActualMajorUnit, IAxis.getActualMinorUnit, IAxis.getActualMajorUnitScale, IAxis.getActualMinorUnitScale). Είναι απαραίτητο να καλέσετε τη μέθοδο IChart.validateChartLayout() προηγούμενα για να γεμίσετε τις ιδιότητες με τις πραγματικές τιμές.

Presentation pres = new Presentation();
try {
    Chart chart = (Chart)pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 100, 100, 500, 350);
    chart.validateChartLayout();
    
    double maxValue = chart.getAxes().getVerticalAxis().getActualMaxValue();
    double minValue = chart.getAxes().getVerticalAxis().getActualMinValue();
    
    double majorUnit = chart.getAxes().getHorizontalAxis().getActualMajorUnit();
    double minorUnit = chart.getAxes().getHorizontalAxis().getActualMinorUnit();
} finally {
    if (pres != null) pres.dispose();
}

Υπολογίστε την Πραγματική Θέση των Γονικών Στοιχείων του Διαγράμματος

Το Aspose.Slides for Java παρέχει ένα απλό API για τη λήψη αυτών των ιδιοτήτων. Οι ιδιότητες της διεπαφής IActualLayout παρέχουν πληροφορίες για τη πραγματική θέση του γονικού στοιχείου του διαγράμματος (IActualLayout.getActualX, IActualLayout.getActualY, IActualLayout.getActualWidth, IActualLayout.getActualHeight). Είναι απαραίτητο να καλέσετε τη μέθοδο IChart.validateChartLayout() προηγούμενα για να γεμίσετε τις ιδιότητες με τις πραγματικές τιμές.

Presentation pres = new Presentation();
try {
    Chart chart = (Chart) pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350);
    chart.validateChartLayout();

    double x = chart.getPlotArea().getActualX();
    double y = chart.getPlotArea().getActualY();
    double w = chart.getPlotArea().getActualWidth();
    double h = chart.getPlotArea().getActualHeight();
} finally {
    if (pres != null) pres.dispose();
}

Απόκρυψη Στοιχείων Διαγράμματος

Αυτό το θέμα σας βοηθά να κατανοήσετε πώς να αποκρύψετε πληροφορίες από το διάγραμμα. Χρησιμοποιώντας το Aspose.Slides for Java μπορείτε να αποκρύψετε Τίτλος, Κάθετος Άξονας, Οριζόντιος Άξονας και Γραμμές Πλέγματος από το διάγραμμα. Το παρακάτω παράδειγμα κώδικα δείχνει πώς να χρησιμοποιήσετε αυτές τις ιδιότητες.

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 140, 118, 320, 370);

    //Απόκρυψη τίτλου διαγράμματος
    chart.setTitle(false);

    ///Απόκρυψη άξονα τιμών
    chart.getAxes().getVerticalAxis().setVisible(false);

    //Ορατότητα άξονα κατηγορίας
    chart.getAxes().getHorizontalAxis().setVisible(false);

    //Απόκρυψη υπομνήματος
    chart.setLegend(false);

    //Απόκρυψη κύριων γραμμών πλέγματος
    chart.getAxes().getHorizontalAxis().getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);

    for (int i = 0; i < chart.getChartData().getSeries().size(); i++)
    {
        chart.getChartData().getSeries().removeAt(i);
    }

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getMarker().setSymbol(MarkerStyleType.Circle);
    series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
    series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.Top);
    series.getMarker().setSize(15);

    //Ορισμός χρώματος γραμμής σειράς
    series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.MAGENTA);
    series.getFormat().getLine().setDashStyle(LineDashStyle.Solid);

    pres.save("HideInformationFromChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Μπορούν τα εξωτερικά βιβλία εργασίας Excel να λειτουργήσουν ως πηγή δεδομένων, και πώς αυτό επηρεάζει τον επαναϋπολογισμό;

Ναι. Ένα διάγραμμα μπορεί να αναφέρεται σε εξωτερικό βιβλίο εργασίας: όταν συνδέετε ή ανανεώνετε την εξωτερική πηγή, οι τύποι και οι τιμές λαμβάνονται από εκείνο το βιβλίο, και το διάγραμμα αντικατοπτρίζει τις ενημερώσεις κατά τις λειτουργίες ανοίγματος/επεξεργασίας. Το API σας επιτρέπει να καθορίσετε το εξωτερικό βιβλίο εργασίας διαδρομή και να διαχειριστείτε τα συνδεδεμένα δεδομένα.

Μπορώ να υπολογίσω και να εμφανίσω γραμμές τάσης χωρίς να εφαρμόσω εγώ την παλινδρόμηση;

Ναι. Trendlines (γραμμικές, εκθετικές και άλλες) προστίθενται και ενημερώνονται από το Aspose.Slides· οι παράμετροι τους επαναϋπολογίζονται αυτόματα από τα δεδομένα της σειράς, ώστε δεν χρειάζεται να υλοποιήσετε δικούς σας υπολογισμούς.

Αν μια παρουσίαση έχει πολλά διαγράμματα με εξωτερικές συνδέσεις, μπορώ να ελέγξω ποιο βιβλίο εργασίας χρησιμοποιεί κάθε διάγραμμα για τις υπολογισμένες τιμές;

Ναι. Κάθε διάγραμμα μπορεί να δείχνει στο δικό του εξωτερικό βιβλίο εργασίας, ή μπορείτε να δημιουργήσετε/αντικαταστήσετε ένα εξωτερικό βιβλίο εργασίας ανά διάγραμμα ανεξάρτητα από τα άλλα.