com.aspose.words
Class ChartAxis

java.lang.Object
    extended by com.aspose.words.ChartAxis
All Implemented Interfaces:
java.lang.Cloneable

public class ChartAxis 
extends java.lang.Object

Represents the axis options of the chart.

To learn more, visit the Working with Charts documentation article.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

Property Getters/Setters Summary
booleangetAxisBetweenCategories()
voidsetAxisBetweenCategories(boolean value)
           Gets or sets a flag indicating whether the value axis crosses the category axis between categories.
intgetBaseTimeUnit()
voidsetBaseTimeUnit(int value)
           Returns or sets the smallest time unit that is represented on the time category axis. The value of the property is AxisTimeUnit integer constant.
intgetCategoryType()
voidsetCategoryType(int value)
           Gets or sets type of the category axis. The value of the property is AxisCategoryType integer constant.
intgetCrosses()
voidsetCrosses(int value)
           Specifies how this axis crosses the perpendicular axis. The value of the property is AxisCrosses integer constant.
doublegetCrossesAt()
voidsetCrossesAt(double value)
           Specifies where on the perpendicular axis the axis crosses.
AxisDisplayUnitgetDisplayUnit()
           Specifies the scaling value of the display units for the value axis.
DocumentBasegetDocument()
           Returns the document containing the parent chart.
ChartFormatgetFormat()
           Provides access to line formatting of the axis and fill of the tick labels.
booleanhasMajorGridlines()
voidhasMajorGridlines(boolean value)
           Gets or sets a flag indicating whether the axis has major gridlines.
booleanhasMinorGridlines()
voidhasMinorGridlines(boolean value)
           Gets or sets a flag indicating whether the axis has minor gridlines.
booleangetHidden()
voidsetHidden(boolean value)
           Gets or sets a flag indicating whether this axis is hidden or not.
intgetMajorTickMark()
voidsetMajorTickMark(int value)
           Returns or sets the major tick marks. The value of the property is AxisTickMark integer constant.
doublegetMajorUnit()
voidsetMajorUnit(double value)
           Returns or sets the distance between major tick marks.
booleangetMajorUnitIsAuto()
voidsetMajorUnitIsAuto(boolean value)
           Gets or sets a flag indicating whether default distance between major tick marks shall be used.
intgetMajorUnitScale()
voidsetMajorUnitScale(int value)
           Returns or sets the scale value for major tick marks on the time category axis. The value of the property is AxisTimeUnit integer constant.
intgetMinorTickMark()
voidsetMinorTickMark(int value)
           Returns or sets the minor tick marks for the axis. The value of the property is AxisTickMark integer constant.
doublegetMinorUnit()
voidsetMinorUnit(double value)
           Returns or sets the distance between minor tick marks.
booleangetMinorUnitIsAuto()
voidsetMinorUnitIsAuto(boolean value)
           Gets or sets a flag indicating whether default distance between minor tick marks shall be used.
intgetMinorUnitScale()
voidsetMinorUnitScale(int value)
           Returns or sets the scale value for minor tick marks on the time category axis. The value of the property is AxisTimeUnit integer constant.
ChartNumberFormatgetNumberFormat()
           Returns a ChartNumberFormat object that allows defining number formats for the axis.
booleangetReverseOrder()
voidsetReverseOrder(boolean value)
           Returns or sets a flag indicating whether values of axis should be displayed in reverse order, i.e. from max to min.
AxisScalinggetScaling()
           Provides access to the scaling options of the axis.
intgetTickLabelAlignment()
voidsetTickLabelAlignment(int value)
          Deprecated. Gets or sets text alignment of axis tick labels. The value of the property is ParagraphAlignment integer constant.
intgetTickLabelOffset()
voidsetTickLabelOffset(int value)
          Deprecated. Gets or sets the distance of labels from the axis.
intgetTickLabelPosition()
voidsetTickLabelPosition(int value)
          Deprecated. Returns or sets the position of the tick labels on the axis. The value of the property is AxisTickLabelPosition integer constant.
AxisTickLabelsgetTickLabels()
           Provides access to the properties of the axis tick mark labels.
intgetTickLabelSpacing()
voidsetTickLabelSpacing(int value)
          Deprecated. Gets or sets the interval, at which tick labels are drawn.
booleangetTickLabelSpacingIsAuto()
voidsetTickLabelSpacingIsAuto(boolean value)
          Deprecated. Gets or sets a flag indicating whether automatic interval of drawing tick labels shall be used.
intgetTickMarkSpacing()
voidsetTickMarkSpacing(int value)
           Gets or sets the interval, at which tick marks are drawn.
ChartAxisTitlegetTitle()
           Provides access to the axis title properties.
intgetType()
           Returns type of the axis. The value of the property is ChartAxisType integer constant.
 

Property Getters/Setters Detail

getAxisBetweenCategories/setAxisBetweenCategories

public boolean getAxisBetweenCategories() / public void setAxisBetweenCategories(boolean value)
Gets or sets a flag indicating whether the value axis crosses the category axis between categories. The property has effect only for value axes. It is not supported by MS Office 2016 new charts.

Example:

Shows how to get a graph axis to cross at a custom location.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(3, chart.getSeries().getCount());
Assert.assertEquals("Series 1", chart.getSeries().get(0).getName());
Assert.assertEquals("Series 2", chart.getSeries().get(1).getName());
Assert.assertEquals("Series 3", chart.getSeries().get(2).getName());

// For column charts, the Y-axis crosses at zero by default,
// which means that columns for all values below zero point down to represent negative values.
// We can set a different value for the Y-axis crossing. In this case, we will set it to 3.
ChartAxis axis = chart.getAxisX();
axis.setCrosses(AxisCrosses.CUSTOM);
axis.setCrossesAt(3.0);
axis.setAxisBetweenCategories(true);

doc.save(getArtifactsDir() + "Charts.AxisCross.docx");

getBaseTimeUnit/setBaseTimeUnit

public int getBaseTimeUnit() / public void setBaseTimeUnit(int value)
Returns or sets the smallest time unit that is represented on the time category axis. The value of the property is AxisTimeUnit integer constant. The property has effect only for time category axes.

Example:

Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new Date[]
                {
                        DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
                        DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
                },
        new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});

// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));

// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);

// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);

doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");

getCategoryType/setCategoryType

public int getCategoryType() / public void setCategoryType(int value)
Gets or sets type of the category axis. The value of the property is AxisCategoryType integer constant. Only text categories (AxisCategoryType.CATEGORY) are allowed in MS Office 2016 new charts.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getCrosses/setCrosses

public int getCrosses() / public void setCrosses(int value)
Specifies how this axis crosses the perpendicular axis. The value of the property is AxisCrosses integer constant.

Default value is AxisCrosses.AUTOMATIC.

The property is not supported by MS Office 2016 new charts.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getCrossesAt/setCrossesAt

public double getCrossesAt() / public void setCrossesAt(double value)
Specifies where on the perpendicular axis the axis crosses.

The property has effect only if Crosses are set to AxisCrosses.CUSTOM. It is not supported by MS Office 2016 new charts.

The units are determined by the type of axis. When the axis is a value axis, the value of the property is a decimal number on the value axis. When the axis is a time category axis, the value is defined as an integer number of days relative to the base date (30/12/1899). For a text category axis, the value is an integer category number, starting with 1 as the first category.

Example:

Shows how to get a graph axis to cross at a custom location.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(3, chart.getSeries().getCount());
Assert.assertEquals("Series 1", chart.getSeries().get(0).getName());
Assert.assertEquals("Series 2", chart.getSeries().get(1).getName());
Assert.assertEquals("Series 3", chart.getSeries().get(2).getName());

// For column charts, the Y-axis crosses at zero by default,
// which means that columns for all values below zero point down to represent negative values.
// We can set a different value for the Y-axis crossing. In this case, we will set it to 3.
ChartAxis axis = chart.getAxisX();
axis.setCrosses(AxisCrosses.CUSTOM);
axis.setCrossesAt(3.0);
axis.setAxisBetweenCategories(true);

doc.save(getArtifactsDir() + "Charts.AxisCross.docx");

getDisplayUnit

public AxisDisplayUnit getDisplayUnit()
Specifies the scaling value of the display units for the value axis. The property has effect only for value axes.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getDocument

public DocumentBase getDocument()
Returns the document containing the parent chart.

getFormat

public ChartFormat getFormat()
Provides access to line formatting of the axis and fill of the tick labels. Fill of chart tick marks can be changed only for pre Word 2016 charts. Word 2016 charts do not support this.

hasMajorGridlines/hasMajorGridlines

public boolean hasMajorGridlines() / public void hasMajorGridlines(boolean value)
Gets or sets a flag indicating whether the axis has major gridlines.

Example:

Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new Date[]
                {
                        DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
                        DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
                },
        new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});

// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));

// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);

// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);

doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");

hasMinorGridlines/hasMinorGridlines

public boolean hasMinorGridlines() / public void hasMinorGridlines(boolean value)
Gets or sets a flag indicating whether the axis has minor gridlines.

Example:

Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new Date[]
                {
                        DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
                        DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
                },
        new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});

// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));

// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);

// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);

doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");

getHidden/setHidden

public boolean getHidden() / public void setHidden(boolean value)
Gets or sets a flag indicating whether this axis is hidden or not. Default value is false.

Example:

Shows how to hide chart axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Add a custom series with categories for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("AW Series 1",
        new String[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"},
        new double[]{1.2, 0.3, 2.1, 2.9, 4.2});

// Hide the chart axes to simplify the appearance of the chart. 
chart.getAxisX().setHidden(true);
chart.getAxisY().setHidden(true);

doc.save(getArtifactsDir() + "Charts.HideChartAxis.docx");

getMajorTickMark/setMajorTickMark

public int getMajorTickMark() / public void setMajorTickMark(int value)
Returns or sets the major tick marks. The value of the property is AxisTickMark integer constant.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getMajorUnit/setMajorUnit

public double getMajorUnit() / public void setMajorUnit(double value)
Returns or sets the distance between major tick marks.

Valid range of a value is greater than zero. The property has effect for time category and value axes.

Setting this property sets the MajorUnitIsAuto property to false.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getMajorUnitIsAuto/setMajorUnitIsAuto

public boolean getMajorUnitIsAuto() / public void setMajorUnitIsAuto(boolean value)
Gets or sets a flag indicating whether default distance between major tick marks shall be used. The property has effect for time category and value axes.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getMajorUnitScale/setMajorUnitScale

public int getMajorUnitScale() / public void setMajorUnitScale(int value)
Returns or sets the scale value for major tick marks on the time category axis. The value of the property is AxisTimeUnit integer constant. The property has effect only for time category axes.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getMinorTickMark/setMinorTickMark

public int getMinorTickMark() / public void setMinorTickMark(int value)
Returns or sets the minor tick marks for the axis. The value of the property is AxisTickMark integer constant.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getMinorUnit/setMinorUnit

public double getMinorUnit() / public void setMinorUnit(double value)
Returns or sets the distance between minor tick marks.

Valid range of a value is greater than zero. The property has effect for time category and value axes.

Setting this property sets the MinorUnitIsAuto property to false.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getMinorUnitIsAuto/setMinorUnitIsAuto

public boolean getMinorUnitIsAuto() / public void setMinorUnitIsAuto(boolean value)
Gets or sets a flag indicating whether default distance between minor tick marks shall be used. The property has effect for time category and value axes.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getMinorUnitScale/setMinorUnitScale

public int getMinorUnitScale() / public void setMinorUnitScale(int value)
Returns or sets the scale value for minor tick marks on the time category axis. The value of the property is AxisTimeUnit integer constant. The property has effect only for time category axes.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getNumberFormat

public ChartNumberFormat getNumberFormat()
Returns a ChartNumberFormat object that allows defining number formats for the axis.

Example:

Shows how to set formatting for chart values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Add a custom series to the chart with categories for the X-axis,
// and large respective numeric values for the Y-axis. 
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{1900000.0, 850000.0, 2100000.0, 600000.0, 1500000.0});

// Set the number format of the Y-axis tick labels to not group digits with commas. 
chart.getAxisY().getNumberFormat().setFormatCode("#,##0");

// This flag can override the above value and draw the number format from the source cell.
Assert.assertFalse(chart.getAxisY().getNumberFormat().isLinkedToSource());

doc.save(getArtifactsDir() + "Charts.SetNumberFormatToChartAxis.docx");

getReverseOrder/setReverseOrder

public boolean getReverseOrder() / public void setReverseOrder(boolean value)
Returns or sets a flag indicating whether values of axis should be displayed in reverse order, i.e. from max to min. The property is not supported by MS Office 2016 new charts. Default value is false.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getScaling

public AxisScaling getScaling()
Provides access to the scaling options of the axis.

Example:

Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new Date[]
                {
                        DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
                        DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
                },
        new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});

// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));

// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);

// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);

doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");

getTickLabelAlignment/setTickLabelAlignment

@Deprecated
public int getTickLabelAlignment() / public void setTickLabelAlignment(int value)
Deprecated. Gets or sets text alignment of axis tick labels. The value of the property is ParagraphAlignment integer constant.

This property has effect only for multi-line labels.

Default value is ParagraphAlignment.CENTER.

.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getTickLabelOffset/setTickLabelOffset

@Deprecated
public int getTickLabelOffset() / public void setTickLabelOffset(int value)
Deprecated. Gets or sets the distance of labels from the axis.

The property represents a percentage of the default label offset.

Valid range is from 0 to 1000 percent inclusive. Default value is 100%.

The property has effect only for category axes. It is not supported by MS Office 2016 new charts.


getTickLabelPosition/setTickLabelPosition

@Deprecated
public int getTickLabelPosition() / public void setTickLabelPosition(int value)
Deprecated. Returns or sets the position of the tick labels on the axis. The value of the property is AxisTickLabelPosition integer constant. The property is not supported by MS Office 2016 new charts.

getTickLabels

public AxisTickLabels getTickLabels()
Provides access to the properties of the axis tick mark labels.

getTickLabelSpacing/setTickLabelSpacing

@Deprecated
public int getTickLabelSpacing() / public void setTickLabelSpacing(int value)
Deprecated. Gets or sets the interval, at which tick labels are drawn.

The property has effect for text category and series axes. It is not supported by MS Office 2016 new charts. Valid range of a value is greater than or equal to 1.

Setting this property sets the AxisTickLabels.IsAutoSpacing property to false.

Example:

Shows how to manipulate the tick marks and displayed values of a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.SCATTER, 450.0, 250.0);
Chart chart = shape.getChart();

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());

// Set the minor tick marks of the Y-axis to point away from the plot area,
// and the major tick marks to cross the axis.
ChartAxis axis = chart.getAxisY();
axis.setMajorTickMark(AxisTickMark.CROSS);
axis.setMinorTickMark(AxisTickMark.OUTSIDE);

// Set they Y-axis to show a major tick every 10 units, and a minor tick every 1 unit.
axis.setMajorUnit(10.0);
axis.setMinorUnit(1.0);

// Set the Y-axis bounds to -10 and 20.
// This Y-axis will now display 4 major tick marks and 27 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(20.0));

// For the X-axis, set the major tick marks at every 10 units,
// every minor tick mark at 2.5 units.
axis = chart.getAxisX();
axis.setMajorUnit(10.0);
axis.setMinorUnit(2.5);

// Configure both types of tick marks to appear inside the graph plot area.
axis.setMajorTickMark(AxisTickMark.INSIDE);
axis.setMinorTickMark(AxisTickMark.INSIDE);

// Set the X-axis bounds so that the X-axis spans 5 major tick marks and 12 minor tick marks.
axis.getScaling().setMinimum(new AxisBound(-10));
axis.getScaling().setMaximum(new AxisBound(30.0));
axis.getTickLabels().setAlignment(ParagraphAlignment.RIGHT);

Assert.assertEquals(1, axis.getTickLabels().getSpacing());

// Set the tick labels to display their value in millions.
axis.getDisplayUnit().setUnit(AxisBuiltInUnit.MILLIONS);

// We can set a more specific value by which tick labels will display their values.
// This statement is equivalent to the one above.
axis.getDisplayUnit().setCustomUnit(1000000.0);
doc.save(getArtifactsDir() + "Charts.AxisDisplayUnit.docx");

getTickLabelSpacingIsAuto/setTickLabelSpacingIsAuto

@Deprecated
public boolean getTickLabelSpacingIsAuto() / public void setTickLabelSpacingIsAuto(boolean value)
Deprecated. Gets or sets a flag indicating whether automatic interval of drawing tick labels shall be used.

Default value is true.

The property has effect for text category and series axes. It is not supported by MS Office 2016 new charts.


getTickMarkSpacing/setTickMarkSpacing

public int getTickMarkSpacing() / public void setTickMarkSpacing(int value)
Gets or sets the interval, at which tick marks are drawn.

The property has effect for text category and series axes. It is not supported by MS Office 2016 new charts.

Valid range of a value is greater than or equal to 1.

Example:

Shows how to insert a chart and modify the appearance of its axes.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();

// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();

// Insert a chart series with categories for the X-axis and respective numeric values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
        new String[]{"Word", "PDF", "Excel", "GoogleDocs", "Note"},
        new double[]{640.0, 320.0, 280.0, 120.0, 150.0});

// Chart axes have various options that can change their appearance,
// such as their direction, major/minor unit ticks, and tick marks.
ChartAxis xAxis = chart.getAxisX();
xAxis.setCategoryType(AxisCategoryType.CATEGORY);
xAxis.setCrosses(AxisCrosses.MINIMUM);
xAxis.setReverseOrder(false);
xAxis.setMajorTickMark(AxisTickMark.INSIDE);
xAxis.setMinorTickMark(AxisTickMark.CROSS);
xAxis.setMajorUnit(10.0d);
xAxis.setMinorUnit(15.0d);
xAxis.getTickLabels().setOffset(50);
xAxis.getTickLabels().setPosition(AxisTickLabelPosition.LOW);
xAxis.getTickLabels().isAutoSpacing(false);
xAxis.setTickMarkSpacing(1);

ChartAxis yAxis = chart.getAxisY();
yAxis.setCategoryType(AxisCategoryType.AUTOMATIC);
yAxis.setCrosses(AxisCrosses.MAXIMUM);
yAxis.setReverseOrder(true);
yAxis.setMajorTickMark(AxisTickMark.INSIDE);
yAxis.setMinorTickMark(AxisTickMark.CROSS);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(20.0d);
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
yAxis.getTickLabels().setAlignment(ParagraphAlignment.CENTER);
yAxis.getTickLabels().getFont().setColor(Color.RED);
yAxis.getTickLabels().setSpacing(1);

// Column charts do not have a Z-axis.
Assert.assertNull(chart.getAxisZ());

doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");

getTitle

public ChartAxisTitle getTitle()
Provides access to the axis title properties.

getType

public int getType()
Returns type of the axis. The value of the property is ChartAxisType integer constant.

Example:

Shows how to create an appropriate type of chart series for a graph type.
public void chartSeriesCollection() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // There are several ways of populating a chart's series collection.
    // Different series schemas are intended for different chart types.
    // 1 -  Column chart with columns grouped and banded along the X-axis by category:
    Chart chart = appendChart(builder, ChartType.COLUMN, 500.0, 300.0);

    String[] categories = {"Category 1", "Category 2", "Category 3"};

    // Insert two series of decimal values containing a value for each respective category.
    // This column chart will have three groups, each with two columns.
    chart.getSeries().add("Series 1", categories, new double[]{76.6, 82.1, 91.6});
    chart.getSeries().add("Series 2", categories, new double[]{64.2, 79.5, 94.0});

    // Categories are distributed along the X-axis, and values are distributed along the Y-axis.
    Assert.assertEquals(ChartAxisType.CATEGORY, chart.getAxisX().getType());
    Assert.assertEquals(ChartAxisType.VALUE, chart.getAxisY().getType());

    // 2 -  Area chart with dates distributed along the X-axis:
    chart = appendChart(builder, ChartType.AREA, 500.0, 300.0);

    Date[] dates = {DocumentHelper.createDate(2014, 3, 31),
            DocumentHelper.createDate(2017, 1, 23),
            DocumentHelper.createDate(2017, 6, 18),
            DocumentHelper.createDate(2019, 11, 22),
            DocumentHelper.createDate(2020, 9, 7)
    };

    // Insert a series with a decimal value for each respective date.
    // The dates will be distributed along a linear X-axis,
    // and the values added to this series will create data points.
    chart.getSeries().add("Series 1", dates, new double[]{15.8, 21.5, 22.9, 28.7, 33.1});

    Assert.assertEquals(ChartAxisType.CATEGORY, chart.getAxisX().getType());
    Assert.assertEquals(ChartAxisType.VALUE, chart.getAxisY().getType());

    // 3 -  2D scatter plot:
    chart = appendChart(builder, ChartType.SCATTER, 500.0, 300.0);

    // Each series will need two decimal arrays of equal length.
    // The first array contains X-values, and the second contains corresponding Y-values
    // of data points on the chart's graph.
    chart.getSeries().add("Series 1",
            new double[]{3.1, 3.5, 6.3, 4.1, 2.2, 8.3, 1.2, 3.6},
            new double[]{3.1, 6.3, 4.6, 0.9, 8.5, 4.2, 2.3, 9.9});
    chart.getSeries().add("Series 2",
            new double[]{2.6, 7.3, 4.5, 6.6, 2.1, 9.3, 0.7, 3.3},
            new double[]{7.1, 6.6, 3.5, 7.8, 7.7, 9.5, 1.3, 4.6});

    Assert.assertEquals(ChartAxisType.VALUE, chart.getAxisX().getType());
    Assert.assertEquals(ChartAxisType.VALUE, chart.getAxisY().getType());

    // 4 -  Bubble chart:
    chart = appendChart(builder, ChartType.BUBBLE, 500.0, 300.0);

    // Each series will need three decimal arrays of equal length.
    // The first array contains X-values, the second contains corresponding Y-values,
    // and the third contains diameters for each of the graph's data points.
    chart.getSeries().add("Series 1",
            new double[]{1.1, 5.0, 9.8},
            new double[]{1.2, 4.9, 9.9},
            new double[]{2.0, 4.0, 8.0});

    doc.save(getArtifactsDir() + "Charts.ChartSeriesCollection.docx");
}

/// <summary>
/// Insert a chart using a document builder of a specified ChartType, width and height, and remove its demo data.
/// </summary>
private static Chart appendChart(DocumentBuilder builder, /*ChartType*/int chartType, double width, double height) throws Exception {
    Shape chartShape = builder.insertChart(chartType, width, height);
    Chart chart = chartShape.getChart();
    chart.getSeries().clear();
    return chart;
}

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.