Diagram jelmagyarázatok testreszabása prezentációkban JavaScript használatával
Áttekintés
Az Aspose.Slides for Node.js via Java lehetőséget biztosít a diagram jelmagyarázatok testreszabására a PowerPoint-prezentációkban. Ez a cikk bemutatja, hogyan lehet elhelyezni és méretezni egy jelmagyarázatot, beállítani a teljes jelmagyarázat betűméretét, formázni egy adott jelmagyarázati bejegyzést, valamint elrejteni vagy visszaállítani a kiválasztott bejegyzéseket.
A GyIK a kapcsolódó viselkedéseket is lefedi, többek között a jelmagyarázat helyének lefoglalását, a több soros címkék megjelenítését, valamint a formázás öröklését a prezentáció témájából.
Jelmagyarázat elhelyezése
Használja a jelmagyarázat setX, setY, setWidth, és setHeight metódusait a pozíciója és mérete meghatározásához a diagram méretének tört részeként.
Ez a példa létrehoz egy prezentációt, és az első diára egy csoportosított oszlopdiagramot ad hozzá az alapértelmezett adatokkal. A kívánt jelmagyarázat eltolásokat és méreteket a diagram szélességével és magasságával elosztva relatív értékekké alakítja: a jelmagyarázat 50 ponttal van eltolva a diagram bal felső sarkától, és 100 pont szélességű és 100 pont magasságú.
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);
// A jelmagyarázat pozícióját és méretét a diagramhoz viszonyítva adja meg.
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();
}
A jelmagyarázat betűméretének beállítása
Használja a jelmagyarázat getTextFormat metódusát a szövegformázás eléréséhez, és a setFontHeight metódust a betűméret pontban történő beállításához.
Ez a példa létrehoz egy diagramot az alapértelmezett adatokkal, és a jelmagyarázat szövegét 20 pontra állítja. Emellett letiltja a függőleges tengely automatikus határait, és a tartományt -5 és 10 között állítja be.
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();
}
Egy adott jelmagyarázati bejegyzés betűméretének beállítása
Használja a jelmagyarázat getEntries metódusa által visszaadott gyűjteményt egy adott bejegyzés formázásának eléréséhez. A bejegyzések indexelése nullától indul, így az 1 index a második bejegyzést jelöli.
Ez a példa létrehoz egy csoportosított oszlopdiagramot, amelynek alapértelmezett adatai legalább két sorozatot tartalmaznak. Formázza a második jelmagyarázati bejegyzést félkövér, dőlt és 20 pontos kék szöveggel.
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();
}
Egyedi jelmagyarázati bejegyzések elrejtése
Egy segédsorozat kizárásához a jelmagyarázatból, miközben az adat látható marad, hívja meg a LegendEntryProperties.setHide metódust true értékkel a ChartSeries.getRelatedLegendEntry segítségével. Ez csak a kiválasztott jelmagyarázati bejegyzést rejti el; a sorozatot vagy adatpontjait nem távolítja el. Ezzel szemben a Chart.setLegend false értékkel történő meghívása az egész jelmagyarázatot eltünteti.
Az alábbi példa létrehoz egy csoportosított oszlopdiagramot több sorozattal az alapértelmezett adatok használatával. Elrejti a második sorozat jelmagyarázati bejegyzését (index 1), majd elmenti a prezentációt. Ezután a setHide false értékkel történő meghívásával visszaállítja a bejegyzést, és egy második másolatot ment. Az oszlopok mindkét fájlban láthatók maradnak.
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);
// Állítsa vissza ugyanazt a bejegyzést a diagram adatait megváltoztatás nélkül.
legendEntry.setHide(false);
presentation.save("restored_legend_entry.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Az alábbi összehasonlítás ugyanazt a diagramot mutatja, az összes bejegyzés látható állapotban és a második bejegyzés rejtett állapotban. A második sorozat oszlopai változatlanok maradnak.

Oszlop-, oszlopdiagramoknál és vonaldiagramoknál a jelmagyarázati bejegyzések a sorozatokat azonosítják. Kördiagramoknál egyenkénti adatpontokat (szeleteket) jelölnek, ezért a kiválasztott szelet esetén használja a ChartDataPoint.getRelatedLegendEntry metódust. Az API ezt az adatpont‑metódust a Pie, Pie3D, ExplodedPie, ExplodedPie3D, PieOfPie és BarOfPie diagramtípusokra dokumentálja. Ne feltételezze, hogy ez a gyűrűdiagramokra is érvényes, mivel azok nincsenek a felsorolásban.
GYIK
Kérhetem, hogy a diagram helyet foglaljon a jelmagyarázatnak ahelyett, hogy átfedje azt?
Igen. Hívja meg a setOverlay metódust false értékkel, hogy helyet foglaljon a jelmagyarázatnak, ahelyett, hogy átfedné a diagramterületet.
Létrehozhatok több soros jelmagyarázati címkéket?
Igen. A hosszú címkék megtörhetnek, ha a rendelkezésre álló szélesség nem elegendő. A sorozatnevekben új sor karaktereket is használhat a sortörés kérése érdekében.
Hogyan tudom, hogy a jelmagyarázat kövesse a prezentáció téma színpalettáját?
Hagyja a jelmagyarázat színeit, kitöltéseit és betűtípusait beállítatlanul, hogy örökölje a téma formázását. Az explicit formázás felülírja a megfelelő téma beállításait.