com.aspose.words

Class ChartAxis

  • java.lang.Object
    • com.aspose.words.ChartAxis
  • All Implemented Interfaces:
    java.lang.Cloneable
    public class ChartAxis 
    extends java.lang.Object

Represents the axis options of the chart.

Example:

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

// Add a column chart, and then clear its demo data series to start with a clean chart.
Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
Chart chart = shape.getChart();
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.setTickLabelOffset(50);
xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);

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

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

Property Getters/Setters Summary
booleangetAxisBetweenCategories()
void
           Gets or sets a flag indicating whether the value axis crosses the category axis between categories.
intgetBaseTimeUnit()
void
setBaseTimeUnit(intvalue)
           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()
void
setCategoryType(intvalue)
           Gets or sets type of the category axis. The value of the property is AxisCategoryType integer constant.
intgetCrosses()
void
setCrosses(intvalue)
           Specifies how this axis crosses the perpendicular axis. The value of the property is AxisCrosses integer constant.
doublegetCrossesAt()
void
setCrossesAt(doublevalue)
           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 the title holder belongs.
booleangetHidden()
void
setHidden(booleanvalue)
           Gets or sets a flag indicating whether this axis is hidden or not.
intgetMajorTickMark()
void
           Returns or sets the major tick marks. The value of the property is AxisTickMark integer constant.
doublegetMajorUnit()
void
setMajorUnit(doublevalue)
           Returns or sets the distance between major tick marks.
booleangetMajorUnitIsAuto()
void
setMajorUnitIsAuto(booleanvalue)
           Gets or sets a flag indicating whether default distance between major tick marks shall be used.
intgetMajorUnitScale()
void
           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()
void
           Returns or sets the minor tick marks for the axis. The value of the property is AxisTickMark integer constant.
doublegetMinorUnit()
void
setMinorUnit(doublevalue)
           Returns or sets the distance between minor tick marks.
booleangetMinorUnitIsAuto()
void
setMinorUnitIsAuto(booleanvalue)
           Gets or sets a flag indicating whether default distance between minor tick marks shall be used.
intgetMinorUnitScale()
void
           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()
void
setReverseOrder(booleanvalue)
           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()
void
           Gets or sets text alignment of axis tick labels. The value of the property is ParagraphAlignment integer constant.
intgetTickLabelOffset()
void
           Gets or sets the distance of labels from the axis.
intgetTickLabelPosition()
void
           Returns or sets the position of the tick labels on the axis. The value of the property is AxisTickLabelPosition integer constant.
intgetTickLabelSpacing()
void
           Gets or sets the interval, at which tick labels are drawn.
booleangetTickLabelSpacingIsAuto()
void
           Gets or sets a flag indicating whether automatic interval of drawing tick labels shall be used.
intgetTickMarkSpacing()
void
           Gets or sets the interval, at which tick marks are drawn.
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);
        
        // Add a line chart, and clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
        Chart chart = shape.getChart();
        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();
        xAxis.getScaling().setMinimum(new AxisBound(DocumentHelper.createDate(2017, 11, 5)));
        xAxis.getScaling().setMaximum(new AxisBound(DocumentHelper.createDate(2017, 12, 3)));
        
        // 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);
        
        // Define Y-axis properties for decimal values.
        ChartAxis yAxis = chart.getAxisY();
        yAxis.setTickLabelPosition(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));
        
        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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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 the title holder belongs.
      • 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);
        
        // Add a line chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
        Chart chart = shape.getChart();
        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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // 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);
        
        // Add a line chart, and clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
        Chart chart = shape.getChart();
        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();
        xAxis.getScaling().setMinimum(new AxisBound(DocumentHelper.createDate(2017, 11, 5)));
        xAxis.getScaling().setMaximum(new AxisBound(DocumentHelper.createDate(2017, 12, 3)));
        
        // 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);
        
        // Define Y-axis properties for decimal values.
        ChartAxis yAxis = chart.getAxisY();
        yAxis.setTickLabelPosition(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));
        
        doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");
      • getTickLabelAlignment/setTickLabelAlignment

        public int getTickLabelAlignment() / public void setTickLabelAlignment(int value)
        
        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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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

        public int getTickLabelOffset() / public void setTickLabelOffset(int value)
        
        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.

        Example:

        Shows how to insert a chart and modify the appearance of its axes.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // Column charts do not have a Z-axis.
        Assert.assertNull(chart.getAxisZ());
        
        doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");
      • getTickLabelPosition/setTickLabelPosition

        public int getTickLabelPosition() / public void setTickLabelPosition(int value)
        
        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.

        Example:

        Shows how to insert a chart and modify the appearance of its axes.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // Column charts do not have a Z-axis.
        Assert.assertNull(chart.getAxisZ());
        
        doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");
      • getTickLabelSpacing/setTickLabelSpacing

        public int getTickLabelSpacing() / public void setTickLabelSpacing(int value)
        
        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 TickLabelSpacingIsAuto 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, and configure them to both be inside the graph plot area.
        axis = chart.getAxisX();
        axis.setMajorTickMark(AxisTickMark.INSIDE);
        axis.setMinorTickMark(AxisTickMark.INSIDE);
        axis.setMajorUnit(10.0);
        axis.setMinorUnit(2.5);
        
        // 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.setTickLabelAlignment(ParagraphAlignment.RIGHT);
        
        Assert.assertEquals(1, axis.getTickLabelSpacing());
        
        // 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

        public boolean getTickLabelSpacingIsAuto() / public void setTickLabelSpacingIsAuto(boolean value)
        
        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.

        Example:

        Shows how to insert a chart and modify the appearance of its axes.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // Column charts do not have a Z-axis.
        Assert.assertNull(chart.getAxisZ());
        
        doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");
      • 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);
        
        // Add a column chart, and then clear its demo data series to start with a clean chart.
        Shape shape = builder.insertChart(ChartType.COLUMN, 500.0, 300.0);
        Chart chart = shape.getChart();
        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.setTickLabelOffset(50);
        xAxis.setTickLabelPosition(AxisTickLabelPosition.LOW);
        xAxis.setTickLabelSpacingIsAuto(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.setTickLabelPosition(AxisTickLabelPosition.NEXT_TO_AXIS);
        
        // Column charts do not have a Z-axis.
        Assert.assertNull(chart.getAxisZ());
        
        doc.save(getArtifactsDir() + "Charts.AxisProperties.docx");
      • 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);
        
            // Create a collection of dates to serve as categories
            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;
        }