Diagramassen aanpassen in presentaties op Android
Overzicht
Dit artikel legt uit hoe u diagramassen kunt aanpassen in Aspose.Slides. Het laat zien hoe u de werkelijke aswaarden kunt verkrijgen, gegevens tussen assen kunt verwisselen, de verticale of horizontale as voor lijndiagrammen kunt verbergen, het type categorische as kunt wijzigen, de datumnotatie voor categorische aswaarden kunt instellen, een as‑titel kunt roteren, de aspositie kunt bepalen en een eenheidslabel op de waardenas kunt weergeven.
Maximumwaarden op de verticale as van diagrammen ophalen
Aspose.Slides for Android via Java stelt u in staat de minimum‑ en maximumwaarden op een verticale as te verkrijgen. Volg deze stappen:
- Maak een instantie van de Presentation klasse.
- Open de eerste dia.
- Voeg een diagram toe met standaardgegevens.
- Haal de werkelijke maximumwaarde van de as op.
- Haal de werkelijke minimumwaarde van de as op.
- Haal de werkelijke hoofd eenheid van de as op.
- Haal de werkelijke subeenheid van de as op.
- Haal de werkelijke schaal van de hoofd eenheid van de as op.
- Haal de werkelijke schaal van de subeenheid van de as op.
Deze voorbeeldcode—een implementatie van de bovenstaande stappen—laat zien hoe u de vereiste waarden in Java kunt verkrijgen:
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();
// Slaat de presentatie op
pres.save("MaxValuesVerticalAxis_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Gegevens tussen assen verwisselen
Aspose.Slides stelt u in staat om snel de gegevens tussen assen te verwisselen — de gegevens die op de verticale as (y‑as) worden weergegeven, worden verplaatst naar de horizontale as (x‑as) en omgekeerd.
Deze Java‑code laat zien hoe u de gegevensverwisseling tussen assen in een diagram uitvoert:
Presentation pres = new Presentation();
try {
IChart 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 (pres != null) pres.dispose();
}
Verticale as voor lijndiagrammen uitschakelen
Deze Java‑code laat zien hoe u de verticale as voor een lijndiagram kunt verbergen:
Presentation pres = new Presentation();
try {
IChart 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 (pres != null) pres.dispose();
}
Horizontale as voor lijndiagrammen uitschakelen
Deze code laat zien hoe u de horizontale as voor een lijndiagram kunt verbergen:
Presentation pres = new Presentation();
try {
IChart 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 (pres != null) pres.dispose();
}
Categorische as wijzigen
Met de eigenschap CategoryAxisType kunt u het gewenste type categorische as instellen (date of text). Deze Java‑code demonstreert de bewerking:
Presentation presentation = new Presentation("ExistingChart.pptx");
try {
IChart chart = (IChart)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 (presentation != null) presentation.dispose();
}
Datumnotatie voor categorische aswaarden instellen
Aspose.Slides for Android via Java stelt u in staat de datumnotatie voor een categorische aswaarde in te stellen. De bewerking wordt gedemonstreerd in deze Java‑code:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 50, 50, 450, 300);
IChartDataWorkbook 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))));
IChartSeries 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 (pres != null) pres.dispose();
}
public static String convertToOADate(GregorianCalendar date) throws ParseException
{
double oaDate;
SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
java.util.Date baseDate = myFormat.parse("30 12 1899");
Long days = TimeUnit.DAYS.convert(date.getTimeInMillis() - baseDate.getTime(), TimeUnit.MILLISECONDS);
oaDate = (double) days + ((double) date.get(Calendar.HOUR_OF_DAY) / 24) + ((double) date.get(Calendar.MINUTE) / (60 * 24)) + ((double) date.get(Calendar.SECOND) / (60 * 24 * 60));
return String.valueOf(oaDate);
}
Rotatiehoek voor een diagramas‑titel instellen
Aspose.Slides for Android via Java stelt u in staat de rotatiehoek voor een diagramas‑titel in te stellen. Deze Java‑code demonstreert de bewerking:
Presentation pres = new Presentation();
try {
IChart 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 (pres != null) pres.dispose();
}
Aspositie op een categorische of waardenas instellen
Aspose.Slides for Android via Java stelt u in staat de positie van de as in een categorische of waardenas in te stellen. Deze Java‑code laat zien hoe u deze taak uitvoert:
Presentation pres = new Presentation();
try {
IChart 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 (pres != null) pres.dispose();
}
Eenheidslabel op de waardenas van het diagram inschakelen
Aspose.Slides for Android via Java stelt u in staat een diagram zó te configureren dat een eenheidslabel op de waardenas wordt getoond. Deze Java‑code demonstreert de bewerking:
Presentation pres = new Presentation();
try {
IChart 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 (pres != null) pres.dispose();
}
FAQ
Hoe stel ik de waarde in waarop één as de andere kruist (as kruising)?
Assen bieden een crossing setting: u kunt kiezen om te kruisen bij nul, bij de maximale categorie/waarde, of bij een specifieke numerieke waarde. Dit is handig om de X‑as omhoog of omlaag te verschuiven of om een basislijn te accentueren.
Hoe kan ik de tick‑labels ten opzichte van de as positioneren (naast, buiten, binnen)?
Stel de label position in op “cross”, “outside” of “inside”. Dit beïnvloedt de leesbaarheid en bespaart ruimte, vooral bij kleine diagrammen.