Anpassa diagramförklaringar i presentationer med JavaScript

Översikt

Aspose.Slides för Node.js via Java erbjuder alternativ för att anpassa diagramförklaringar i PowerPoint-presentationer. Den här artikeln visar hur man placerar och storlekar en förklaring, anger teckenstorleken för hela förklaringen, formaterar ett enskilt förklarings‑element och döljer eller återställer valda element.

FAQ täcker relaterade beteenden, inklusive att reservera utrymme för förklaringen, visa flerradiga etiketter och ärva formatering från presentationens tema.

Placering av förklaring

Använd förklaringens setX, setY, setWidth, och setHeight‑metoder för att ange dess position och storlek som bråkdelar av diagrammets mått.

Detta exempel skapar en presentation och lägger till ett grupperat stapeldiagram med standarddata på den första bilden. Genom att dividera de önskade förklaringens förskjutningar och dimensioner med diagrammets bredd och höjd konverteras de till relativa värden: förklaringen förskjuts 50 punkter från diagrammets övre vänstra hörn och har storleken 100 × 100 punkter.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

var presentation = new aspose.slides.Presentation();
try {
    var slide = presentation.getSlides().get_Item(0);

    var chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 500, 500);

    // Ange förklaringens position och storlek relativt diagrammet.
    chart.getLegend().setX(java.newFloat(50 / chart.getWidth()));
    chart.getLegend().setY(java.newFloat(50 / chart.getHeight()));
    chart.getLegend().setWidth(java.newFloat(100 / chart.getWidth()));
    chart.getLegend().setHeight(java.newFloat(100 / chart.getHeight()));

    presentation.save("legend_position.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Ange teckenstorlek för en förklaring

Använd förklaringens getTextFormat för att komma åt dess textformatering och setFontHeight för att ange teckenstorleken i punkter.

Detta exempel skapar ett diagram med standarddata och ställer in förklaringstexten till 20 punkter. Det inaktiverar också automatiska gränser för den vertikala axeln och sätter dess intervall till -5 till 10.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

var presentation = new aspose.slides.Presentation();
try {
    var slide = presentation.getSlides().get_Item(0);

    var chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);

    chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(20);
    chart.getAxes().getVerticalAxis().setAutomaticMinValue(false);
    chart.getAxes().getVerticalAxis().setMinValue(-5);
    chart.getAxes().getVerticalAxis().setAutomaticMaxValue(false);
    chart.getAxes().getVerticalAxis().setMaxValue(10);

    presentation.save("legend_font_size.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Ange teckenstorlek för ett enskilt förklarings‑element

Använd samlingen som returneras av förklaringens getEntries‑metod för att komma åt formatering för ett specifikt element. Index för element är nollbaserade, så index 1 hänvisar till det andra elementet.

Detta exempel skapar ett grupperat stapeldiagram vars standarddata innehåller minst två serier. Det formaterar det andra förklarings‑elementet med fet, kursiv och 20‑punkts blå text.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

var presentation = new aspose.slides.Presentation();
try {
    var slide = presentation.getSlides().get_Item(0);

    var chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
    var textFormat = chart.getLegend().getEntries().get_Item(1).getTextFormat();

    textFormat.getPortionFormat().setFontBold(java.newByte(aspose.slides.NullableBool.True));
    textFormat.getPortionFormat().setFontHeight(20);
    textFormat.getPortionFormat().setFontItalic(java.newByte(aspose.slides.NullableBool.True));
    textFormat.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    var blue = java.getStaticFieldValue("java.awt.Color", "BLUE");
    textFormat.getPortionFormat().getFillFormat().getSolidFillColor().setColor(blue);

    presentation.save("legend_entry_format.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Dölj enskilda förklarings‑element

För att exkludera en hjälpserie från förklaringen samtidigt som dess data förblir synlig, anropa LegendEntryProperties.setHide med true via ChartSeries.getRelatedLegendEntry. Detta döljer endast det valda förklarings‑elementet; det tar inte bort serien eller dess datapunkter. Att anropa Chart.setLegend med false döljer däremot hela förklaringen.

Exemplet nedan skapar ett grupperat stapeldiagram med flera serier med standarddata. Det döljer den andra seriens förklarings‑element (index 1) och sparar presentationen. Det återställer sedan elementet genom att anropa setHide med false och sparar en andra kopia. Kolumnerna förblir synliga i båda filerna.

var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

var presentation = new aspose.slides.Presentation();
try {
    var slide = presentation.getSlides().get_Item(0);

    var chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
    chart.setLegend(true);

    var legendEntry = chart.getChartData().getSeries().get_Item(1).getRelatedLegendEntry();

    legendEntry.setHide(true);
    presentation.save("hidden_legend_entry.pptx", aspose.slides.SaveFormat.Pptx);

    // Återställ samma element utan att ändra diagramdata.
    legendEntry.setHide(false);
    presentation.save("restored_legend_entry.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Jämförelsen nedan visar samma diagram med alla element synliga och med det andra elementet dolt. Den andra seriens kolumner förblir oförändrade.

Jämförelse av ett diagram med alla förklarings‑element synliga och med Serie 2 dold i förklaringen; alla kolumner förblir synliga.

I stapel‑, stapel‑och linjediagram identifierar förklarings‑element serier. I cirkeldiagram identifierar de enskilda datapunkter (skivor), så använd ChartDataPoint.getRelatedLegendEntry på den valda skivan istället. API‑dokumentationen beskriver denna datapunktmetod för diagramtyperna Pie, Pie3D, ExplodedPie, ExplodedPie3D, PieOfPie och BarOfPie. Anta inte att den gäller för donuts‑diagram, som inte ingår i listan.

FAQ

Kan jag få diagrammet att reservera utrymme för förklaringen istället för att överlappa den?

Ja. Anropa setOverlay med false för att reservera utrymme för förklaringen istället för att låta den överlappa plot‑området.

Kan jag skapa flerradiga förklaringsetiketter?

Ja. Långa etiketter kan radbrytas när den tillgängliga bredden är otillräcklig. Du kan också använda nyradstecken i serienamn för att begära radbrytningar.

Hur får jag förklaringen att följa presentationens färgschema?

Låt förklaringens färger, fyllningar och teckensnitt vara odefinierade så att den kan ärva temats formatering. Explicit formatering åsidosätter de motsvarande temainställningarna.