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.get_shared_y_axes() Function
The Axes.get_shared_y_axes() function in axes module of matplotlib library is used to return a reference to the shared axes Grouper object for y axes.
Syntax:
Axes.get_shared_y_axes(self)
Below examples illustrate the matplotlib.axes.Axes.get_shared_y_axes() function in matplotlib.axes:
Example 1:
# Implementation of matplotlib function import matplotlib.pyplot as plt
import numpy as np
def GFG1(temp):
return ( 5. / 9. ) * (temp - 32 )
def GFG2(ax1):
y1, y2 = ax1.get_ylim()
ax_twin .set_ylim(GFG1(y1), GFG1(y2))
ax_twin .figure.canvas.draw()
fig, ax1 = plt.subplots()
ax_twin = ax1.twiny()
ax1.callbacks.connect( "ylim_changed" , GFG2)
ax1.plot(np.linspace( - 40 , 120 , 100 ))
ax1.set_ylim( 0 , 100 )
ax1.set_xlabel( 'Fahrenheit' )
ax_twin .set_xlabel( 'Celsius' )
w = ax1.get_shared_y_axes()
w1 = ax_twin.get_shared_y_axes()
for i in w:
x, y = list (i)
ax1.text( 35 , 15 , "Value return : \n" ,
fontweight = "bold" )
ax1.text( 20 , 12 , str (x) + "\n" + str (y),
fontweight = "bold" )
fig.suptitle('matplotlib.axes.Axes.get_shared_y_axes() \ function Example\n\n', fontweight = "bold" )
plt.show() |
Output:
Example 2:
# Implementation of matplotlib function import numpy as np
import matplotlib.pyplot as plt
# Create some mock data t = np.arange( 0.01 , 10.0 , 0.001 )
data1 = np.exp(t)
data2 = np.sin( 0.4 * np.pi * t)
fig, ax1 = plt.subplots()
color = 'tab:blue'
ax1.set_ylabel( 'time (s)' )
ax1.set_xlabel( 'exp' , color = color)
ax1.plot(data1, t, color = color)
ax1.tick_params(axis = 'x' , labelcolor = color)
ax2 = ax1.twiny()
color = 'tab:green'
ax2.set_xlabel( 'sin' , color = color)
ax2.plot(data2, t, color = color)
ax2.tick_params(axis = 'x' , labelcolor = color)
w = ax1.get_shared_y_axes()
w1 = ax2.get_shared_y_axes()
for i in w:
x, y = list (i)
ax1.text( 7500 , 6.5 , "Value return : \n" ,
fontweight = "bold" )
ax1.text( 5000 , 6 , str (x) + "\n" + str (y),
fontweight = "bold" )
fig.suptitle('matplotlib.axes.Axes.get_shared_y_axes() \ function Example\n\n', fontweight = "bold" )
plt.show() |
Output: