Matplotlib.axes.Axes.autoscale() in Python
Last Updated :
19 Apr, 2020
Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.
matplotlib.axes.Axes.autoscale() Function
The Axes.autoscale() function in axes module of matplotlib library is used to autoscale the axis view to the data (toggle).
Syntax: Axes.autoscale(self, enable=True, axis=’both’, tight=None)
Parameters: This method accepts the following parameters.
- enable : If this parameter is True (default) turns autoscaling on, False turns it off.
- axis: This parameter is used to which axis to be operate on. {‘both’, ‘x’, ‘y’}
- tight: This parameter is forwarded to autoscale_view.
Return value: This method does not return any value.
Below examples illustrate the matplotlib.axes.Axes.autoscale() function in matplotlib.axes:
Example 1:
import numpy as np
from matplotlib.path import Path
from matplotlib.patches import PathPatch
import matplotlib.pyplot as plt
vertices = []
codes = []
codes = [Path.MOVETO] + [Path.LINETO] * 3 + [Path.CLOSEPOLY]
vertices = [( 1 , 1 ), ( 1 , 2 ), ( 2 , 2 ),
( 2 , 1 ), ( 0 , 0 )]
codes + = [Path.MOVETO] + [Path.LINETO] * 2 + [Path.CLOSEPOLY]
vertices + = [( 4 , 4 ), ( 5 , 5 ), ( 5 , 4 ),
( 0 , 0 )]
vertices = np.array(vertices, float )
path = Path(vertices, codes)
pathpatch = PathPatch(path, facecolor = 'None' ,
edgecolor = 'green' )
fig, ax = plt.subplots()
ax.add_patch(pathpatch)
ax.autoscale()
fig.suptitle('matplotlib.axes.Axes.autoscale() \
function Example\n', fontweight = "bold" )
fig.canvas.draw()
plt.show()
|
Output:
Example 2:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EllipseCollection
x = np.arange( 10 )
y = np.arange( 15 )
X, Y = np.meshgrid(x, y)
XY = np.column_stack((X.ravel(), Y.ravel()))
fig, ax = plt.subplots()
ec = EllipseCollection( 10 , 10 , 5 , units = 'y' ,
offsets = XY * 0.5 ,
transOffset = ax.transData,
cmap = "inferno" )
ec.set_array((X * Y).ravel())
ax.add_collection(ec)
ax.autoscale_view()
ax.set_xlabel( 'X' )
ax.set_ylabel( 'y' )
cbar = plt.colorbar(ec)
cbar.set_label( 'X + Y' )
fig.suptitle('matplotlib.axes.Axes.autoscale() function \
Example\n', fontweight = "bold" )
fig.canvas.draw()
plt.show()
|
Output:
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...