Grafiekassen aanpassen in presentaties met PHP
Overzicht
Dit artikel legt uit hoe u grafiekassen in Aspose.Slides kunt aanpassen. Het laat zien hoe u de werkelijke aswaarden kunt opvragen, gegevens tussen assen kunt verwisselen, de verticale of horizontale as voor lijndiagrammen kunt verbergen, het type categorie-as kunt wijzigen, het datumformaat voor categorie-aswaarden kunt instellen, een as‑titel kunt roteren, de as‑positie kunt bepalen en een eenheid‑label op de waardenas kunt weergeven.
De maximale waarden op de verticale as van diagrammen ophalen
Aspose.Slides for PHP via Java stelt u in staat de minimum‑ en maximumwaarden op een verticale as op te halen. Volg deze stappen:
- Maak een instantie van de Presentation‑klasse.
- Open de eerste dia.
- Voeg een diagram toe met standaardgegevens.
- Haalt de werkelijke maximumwaarde van de as op.
- Haalt de werkelijke minimumwaarde van de as op.
- Haalt de werkelijke hoofd‑eenheid van de as op.
- Haalt de werkelijke sub‑eenheid van de as op.
- Haalt de werkelijke schaal van de hoofd‑eenheid van de as op.
- Haalt de werkelijke schaal van de sub‑eenheid van de as op.
Deze voorbeeldcode—een implementatie van de bovenstaande stappen—toont hoe u de benodigde waarden kunt ophalen :
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Area, 100, 100, 500, 350);
$chart->validateChartLayout();
$maxValue = $chart->getAxes()->getVerticalAxis()->getActualMaxValue();
$minValue = $chart->getAxes()->getVerticalAxis()->getActualMinValue();
$majorUnit = $chart->getAxes()->getHorizontalAxis()->getActualMajorUnit();
$minorUnit = $chart->getAxes()->getHorizontalAxis()->getActualMinorUnit();
# Slaat de presentatie op
$pres->save("MaxValuesVerticalAxis_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Gegevens tussen assen verwisselen
Aspose.Slides maakt het mogelijk om snel de gegevens tussen assen te verwisselen—de gegevens die op de verticale as (y‑as) staan, worden naar de horizontale as (x‑as) verplaatst en omgekeerd.
Deze PHP‑code laat zien hoe u de gegevens‑verwisseling tussen assen in een diagram uitvoert:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 400, 300);
# Wisselt rijen en kolommen
$chart->getChartData()->switchRowColumn();
# Slaat de presentatie op
$pres->save("SwitchChartRowColumns_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Verticale as uitschakelen voor lijndiagrammen
Deze PHP‑code laat zien hoe u de verticale as voor een lijndiagram kunt verbergen:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Line, 100, 100, 400, 300);
$chart->getAxes()->getVerticalAxis()->setVisible(false);
$pres->save("chart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Horizontale as uitschakelen voor lijndiagrammen
Deze code laat zien hoe u de horizontale as voor een lijndiagram kunt verbergen:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Line, 100, 100, 400, 300);
$chart->getAxes()->getHorizontalAxis()->setVisible(false);
$pres->save("chart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Categorie-as wijzigen
Met de eigenschap CategoryAxisType kunt u het gewenste type van de categorie-as opgeven (date of text). Deze code demonstreert de bewerking:
$presentation = new Presentation("ExistingChart.pptx");
try {
$chart = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$chart->getAxes()->getHorizontalAxis()->setCategoryAxisType(CategoryAxisType::Date);
$chart->getAxes()->getHorizontalAxis()->setAutomaticMajorUnit(false);
$chart->getAxes()->getHorizontalAxis()->setMajorUnit(1);
$chart->getAxes()->getHorizontalAxis()->setMajorUnitScale(TimeUnitType::Months);
$presentation->save("ChangeChartCategoryAxis_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Datumformaat instellen voor categorie-aswaarden
Aspose.Slides for PHP via Java maakt het mogelijk het datumformaat voor een waarde op de categorie-as in te stellen. De bewerking wordt gedemonstreerd in deze PHP‑code:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Area, 50, 50, 450, 300);
$wb = $chart->getChartData()->getChartDataWorkbook();
$wb->clear(0);
$chart->getChartData()->getCategories()->clear();
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->add($wb->getCell(0, "A2", convertToOADate(new GregorianCalendar(2015, 1, 1))));
$chart->getChartData()->getCategories()->add($wb->getCell(0, "A3", convertToOADate(new GregorianCalendar(2016, 1, 1))));
$chart->getChartData()->getCategories()->add($wb->getCell(0, "A4", convertToOADate(new GregorianCalendar(2017, 1, 1))));
$chart->getChartData()->getCategories()->add($wb->getCell(0, "A5", convertToOADate(new GregorianCalendar(2018, 1, 1))));
$series = $chart->getChartData()->getSeries()->add(ChartType::Line);
$series->getDataPoints()->addDataPointForLineSeries($wb->getCell(0, "B2", 1));
$series->getDataPoints()->addDataPointForLineSeries($wb->getCell(0, "B3", 2));
$series->getDataPoints()->addDataPointForLineSeries($wb->getCell(0, "B4", 3));
$series->getDataPoints()->addDataPointForLineSeries($wb->getCell(0, "B5", 4));
$chart->getAxes()->getHorizontalAxis()->setCategoryAxisType(CategoryAxisType::Date);
$chart->getAxes()->getHorizontalAxis()->setNumberFormatLinkedToSource(false);
$chart->getAxes()->getHorizontalAxis()->setNumberFormat("yyyy");
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Rotatie‑hoek instellen voor een as‑titel van een diagram
Aspose.Slides for PHP via Java maakt het mogelijk de rotatie‑hoek voor een as‑titel van een diagram in te stellen. Deze PHP‑code demonstreert de bewerking:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 450, 300);
$chart->getAxes()->getVerticalAxis()->setTitle(true);
$chart->getAxes()->getVerticalAxis()->getTitle()->getTextFormat()->getTextBlockFormat()->setRotationAngle(90);
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
As‑positie instellen op een categorie‑ of waardenas
Aspose.Slides for PHP via Java maakt het mogelijk de as‑positie in een categorie‑ of waardenas in te stellen. Deze PHP‑code laat zien hoe u de taak uitvoert:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 450, 300);
$chart->getAxes()->getHorizontalAxis()->setAxisBetweenCategories(true);
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Eenheid‑label weergeven op de waardenas van het diagram inschakelen
Aspose.Slides for PHP via Java maakt het mogelijk een diagram zo te configureren dat er een eenheid‑label wordt getoond op de waardenas van het diagram. Deze PHP‑code demonstreert de bewerking:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 450, 300);
$chart->getAxes()->getVerticalAxis()->setDisplayUnit(DisplayUnitType::Millions);
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Veelgestelde vragen
Hoe stel ik de waarde in waarop één as de andere kruist (as‑kruising)?
Assen bieden een crossing setting: u kunt kiezen om bij nul, bij de maximale categorie/waarde of bij een specifieke numerieke waarde te kruisen. Dit is nuttig om de X‑as omhoog of omlaag te verplaatsen of om een basislijn te benadrukken.
Hoe kan ik de tik‑labels positioneren ten opzichte van de as (langs, buiten, binnen)?
Stel de label position in op “cross”, “outside” of “inside”. Dit beïnvloedt de leesbaarheid en helpt ruimte te besparen, vooral bij kleine diagrammen.