AxisScaling
Inheritance: java.lang.Object
All Implemented Interfaces: java.lang.Cloneable
public class AxisScaling implements Cloneable
Represents the scaling options of the axis.
To learn more, visit the Working with Charts documentation article.
Examples:
Shows how to apply logarithmic scaling to a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape chartShape = builder.insertChart(ChartType.SCATTER, 450.0, 300.0);
Chart chart = chartShape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a series with X/Y coordinates for five points.
chart.getSeries().add("Series 1",
new double[]{1.0, 2.0, 3.0, 4.0, 5.0},
new double[]{1.0, 20.0, 400.0, 8000.0, 160000.0});
// The scaling of the X-axis is linear by default,
// displaying evenly incrementing values that cover our X-value range (0, 1, 2, 3...).
// A linear axis is not ideal for our Y-values
// since the points with the smaller Y-values will be harder to read.
// A logarithmic scaling with a base of 20 (1, 20, 400, 8000...)
// will spread the plotted points, allowing us to read their values on the chart more easily.
chart.getAxisY().getScaling().setType(AxisScaleType.LOGARITHMIC);
chart.getAxisY().getScaling().setLogBase(20.0);
doc.save(getArtifactsDir() + "Charts.AxisScaling.docx");
Methods
Method | Description |
---|---|
getLogBase() | Gets the logarithmic base for a logarithmic axis. |
getMaximum() | Gets the maximum value of the axis. |
getMinimum() | Gets minimum value of the axis. |
getType() | Gets scaling type of the axis. |
setLogBase(double value) | Sets the logarithmic base for a logarithmic axis. |
setMaximum(AxisBound value) | Sets the maximum value of the axis. |
setMinimum(AxisBound value) | Sets minimum value of the axis. |
setType(int value) | Sets scaling type of the axis. |
getLogBase()
public double getLogBase()
Gets the logarithmic base for a logarithmic axis.
Remarks:
The property is not supported by MS Office 2016 new charts.
Valid range of a floating point value is greater than or equal to 2 and less than or equal to 1000. The property has effect only if getType() / setType(int) is set to AxisScaleType.LOGARITHMIC.
Setting this property sets the getType() / setType(int) property to AxisScaleType.LOGARITHMIC.
Examples:
Shows how to apply logarithmic scaling to a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape chartShape = builder.insertChart(ChartType.SCATTER, 450.0, 300.0);
Chart chart = chartShape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a series with X/Y coordinates for five points.
chart.getSeries().add("Series 1",
new double[]{1.0, 2.0, 3.0, 4.0, 5.0},
new double[]{1.0, 20.0, 400.0, 8000.0, 160000.0});
// The scaling of the X-axis is linear by default,
// displaying evenly incrementing values that cover our X-value range (0, 1, 2, 3...).
// A linear axis is not ideal for our Y-values
// since the points with the smaller Y-values will be harder to read.
// A logarithmic scaling with a base of 20 (1, 20, 400, 8000...)
// will spread the plotted points, allowing us to read their values on the chart more easily.
chart.getAxisY().getScaling().setType(AxisScaleType.LOGARITHMIC);
chart.getAxisY().getScaling().setLogBase(20.0);
doc.save(getArtifactsDir() + "Charts.AxisScaling.docx");
Returns: double - The logarithmic base for a logarithmic axis.
getMaximum()
public AxisBound getMaximum()
Gets the maximum value of the axis.
Remarks:
The default value is “auto”.
Examples:
Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
new Date[]
{
DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
},
new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});
// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));
// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);
// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);
doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");
Returns: AxisBound - The maximum value of the axis.
getMinimum()
public AxisBound getMinimum()
Gets minimum value of the axis.
Remarks:
The default value is “auto”.
Examples:
Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
new Date[]
{
DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
},
new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});
// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));
// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);
// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);
doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");
Returns: AxisBound - Minimum value of the axis.
getType()
public int getType()
Gets scaling type of the axis.
Remarks:
The AxisScaleType.LINEAR value is the only that is allowed in MS Office 2016 new charts.
Examples:
Shows how to apply logarithmic scaling to a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape chartShape = builder.insertChart(ChartType.SCATTER, 450.0, 300.0);
Chart chart = chartShape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a series with X/Y coordinates for five points.
chart.getSeries().add("Series 1",
new double[]{1.0, 2.0, 3.0, 4.0, 5.0},
new double[]{1.0, 20.0, 400.0, 8000.0, 160000.0});
// The scaling of the X-axis is linear by default,
// displaying evenly incrementing values that cover our X-value range (0, 1, 2, 3...).
// A linear axis is not ideal for our Y-values
// since the points with the smaller Y-values will be harder to read.
// A logarithmic scaling with a base of 20 (1, 20, 400, 8000...)
// will spread the plotted points, allowing us to read their values on the chart more easily.
chart.getAxisY().getScaling().setType(AxisScaleType.LOGARITHMIC);
chart.getAxisY().getScaling().setLogBase(20.0);
doc.save(getArtifactsDir() + "Charts.AxisScaling.docx");
Returns: int - Scaling type of the axis. The returned value is one of AxisScaleType constants.
setLogBase(double value)
public void setLogBase(double value)
Sets the logarithmic base for a logarithmic axis.
Remarks:
The property is not supported by MS Office 2016 new charts.
Valid range of a floating point value is greater than or equal to 2 and less than or equal to 1000. The property has effect only if getType() / setType(int) is set to AxisScaleType.LOGARITHMIC.
Setting this property sets the getType() / setType(int) property to AxisScaleType.LOGARITHMIC.
Examples:
Shows how to apply logarithmic scaling to a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape chartShape = builder.insertChart(ChartType.SCATTER, 450.0, 300.0);
Chart chart = chartShape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a series with X/Y coordinates for five points.
chart.getSeries().add("Series 1",
new double[]{1.0, 2.0, 3.0, 4.0, 5.0},
new double[]{1.0, 20.0, 400.0, 8000.0, 160000.0});
// The scaling of the X-axis is linear by default,
// displaying evenly incrementing values that cover our X-value range (0, 1, 2, 3...).
// A linear axis is not ideal for our Y-values
// since the points with the smaller Y-values will be harder to read.
// A logarithmic scaling with a base of 20 (1, 20, 400, 8000...)
// will spread the plotted points, allowing us to read their values on the chart more easily.
chart.getAxisY().getScaling().setType(AxisScaleType.LOGARITHMIC);
chart.getAxisY().getScaling().setLogBase(20.0);
doc.save(getArtifactsDir() + "Charts.AxisScaling.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | double | The logarithmic base for a logarithmic axis. |
setMaximum(AxisBound value)
public void setMaximum(AxisBound value)
Sets the maximum value of the axis.
Remarks:
The default value is “auto”.
Examples:
Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
new Date[]
{
DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
},
new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});
// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));
// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);
// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);
doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | AxisBound | The maximum value of the axis. |
setMinimum(AxisBound value)
public void setMinimum(AxisBound value)
Sets minimum value of the axis.
Remarks:
The default value is “auto”.
Examples:
Shows how to insert chart with date/time values.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series containing date/time values for the X-axis, and respective decimal values for the Y-axis.
chart.getSeries().add("Aspose Test Series",
new Date[]
{
DocumentHelper.createDate(2017, 11, 6), DocumentHelper.createDate(2017, 11, 9), DocumentHelper.createDate(2017, 11, 15),
DocumentHelper.createDate(2017, 11, 21), DocumentHelper.createDate(2017, 11, 25), DocumentHelper.createDate(2017, 11, 29)
},
new double[]{1.2, 0.3, 2.1, 2.9, 4.2, 5.3});
// Set lower and upper bounds for the X-axis.
ChartAxis xAxis = chart.getAxisX();
Date datetimeMin = DocumentHelper.createDate(2017, 11, 5);
xAxis.getScaling().setMinimum(new AxisBound(datetimeMin));
Date datetimeMax = DocumentHelper.createDate(2017, 12, 3);
xAxis.getScaling().setMaximum(new AxisBound(datetimeMax));
// Set the major units of the X-axis to a week, and the minor units to a day.
xAxis.setBaseTimeUnit(AxisTimeUnit.DAYS);
xAxis.setMajorUnit(7.0d);
xAxis.setMajorTickMark(AxisTickMark.CROSS);
xAxis.setMinorUnit(1.0d);
xAxis.setMinorTickMark(AxisTickMark.OUTSIDE);
xAxis.hasMajorGridlines(true);
xAxis.hasMinorGridlines(true);
// Define Y-axis properties for decimal values.
ChartAxis yAxis = chart.getAxisY();
yAxis.getTickLabels().setPosition(AxisTickLabelPosition.HIGH);
yAxis.setMajorUnit(100.0d);
yAxis.setMinorUnit(50.0d);
yAxis.getDisplayUnit().setUnit(AxisBuiltInUnit.HUNDREDS);
yAxis.getScaling().setMinimum(new AxisBound(100.0));
yAxis.getScaling().setMaximum(new AxisBound(700.0));
yAxis.hasMajorGridlines(true);
yAxis.hasMinorGridlines(true);
doc.save(getArtifactsDir() + "Charts.DateTimeValues.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | AxisBound | Minimum value of the axis. |
setType(int value)
public void setType(int value)
Sets scaling type of the axis.
Remarks:
The AxisScaleType.LINEAR value is the only that is allowed in MS Office 2016 new charts.
Examples:
Shows how to apply logarithmic scaling to a chart axis.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape chartShape = builder.insertChart(ChartType.SCATTER, 450.0, 300.0);
Chart chart = chartShape.getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a series with X/Y coordinates for five points.
chart.getSeries().add("Series 1",
new double[]{1.0, 2.0, 3.0, 4.0, 5.0},
new double[]{1.0, 20.0, 400.0, 8000.0, 160000.0});
// The scaling of the X-axis is linear by default,
// displaying evenly incrementing values that cover our X-value range (0, 1, 2, 3...).
// A linear axis is not ideal for our Y-values
// since the points with the smaller Y-values will be harder to read.
// A logarithmic scaling with a base of 20 (1, 20, 400, 8000...)
// will spread the plotted points, allowing us to read their values on the chart more easily.
chart.getAxisY().getScaling().setType(AxisScaleType.LOGARITHMIC);
chart.getAxisY().getScaling().setLogBase(20.0);
doc.save(getArtifactsDir() + "Charts.AxisScaling.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
value | int | Scaling type of the axis. The value must be one of AxisScaleType constants. |