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.

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.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()
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 the title holder belongs.
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)
           Gets or sets text alignment of axis tick labels. The value of the property is ParagraphAlignment integer constant.
intgetTickLabelOffset()
voidsetTickLabelOffset(int value)
           Gets or sets the distance of labels from the axis.
intgetTickLabelPosition()
voidsetTickLabelPosition(int value)
           Returns or sets the position of the tick labels on the axis. The value of the property is AxisTickLabelPosition integer constant.
intgetTickLabelSpacing()
voidsetTickLabelSpacing(int value)
           Gets or sets the interval, at which tick labels are drawn.
booleangetTickLabelSpacingIsAuto()
voidsetTickLabelSpacingIsAuto(boolean value)
           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.
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();
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);

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.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);

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.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.
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.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);

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.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);

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.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.
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.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.
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.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);

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.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);

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.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.
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.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.
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.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);

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.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);

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();
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.
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.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);

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.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);

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.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.
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.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);

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.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);

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.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.
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.