Python中的 Matplotlib.figure.Figure.gca()
Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 figure 模块提供了顶级 Artist,即 Figure,其中包含所有绘图元素。该模块用于控制所有绘图元素的子图和顶级容器的默认间距。
matplotlib.figure.Figure.gca() 方法
matplotlib 库的 gca() 方法figure 模块用于获取当前坐标轴。
Syntax: gca(self, **kwargs)
Parameters: This method does not accept any parameters.
Returns: This method returns the current axes.
下面的示例说明了 matplotlib.figure 中的 matplotlib.figure.Figure.gca()函数:
示例 1:
# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as gridspec
from mpl_toolkits.axes_grid1 import make_axes_locatable
plt.close('all')
arr = np.arange(100).reshape((10, 10))
fig = plt.figure(figsize =(4, 4))
im = plt.imshow(arr,
interpolation ="none",
cmap ="plasma")
divider = make_axes_locatable(fig.gca())
cax = divider.append_axes("left",
"15 %",
pad ="30 %")
plt.colorbar(im, cax = cax)
fig.suptitle('matplotlib.figure.Figure.gca()\
function Example', fontweight ="bold")
plt.show()
输出:
示例 2:
#Implementation of matplotlib function
import matplotlib.pyplot as plt
from matplotlib.tri import Triangulation
from matplotlib.patches import Polygon
import numpy as np
ang = 3
radi = 8
radii = np.linspace(0.25, 0.95, radi)
res = np.linspace(0, 4 * np.pi, ang)
res = np.repeat(res[..., np.newaxis], radi, axis=1)
res[:, 1::2] += np.pi / ang
x = (radii*np.cos(2*res)).flatten()
y = (radii*np.sin(2*res)).flatten()
triang = Triangulation(x, y)
triang.set_mask(np.hypot(x[triang.triangles].mean(axis=1),
y[triang.triangles].mean(axis=1))
< 0.25)
trifinder = triang.get_trifinder()
fig = plt.figure()
plt.triplot(triang, 'go-')
polygon = Polygon([[0, 0], [0, 0]], facecolor='r')
def update_polygon(tri):
if tri == -1:
points = [0, 0, 0]
else:
points = triang.triangles[tri]
xs = triang.x[points]
ys = triang.y[points]
polygon.set_xy(np.column_stack([xs, ys]))
def motion_notify(event):
if event.inaxes is None:
tri = -1
else:
tri = trifinder(event.xdata, event.ydata)
update_polygon(tri)
fig.suptitle('matplotlib.figure.Figure.gca()\
function Example\n\n Potion number : %i' % tri,
fontweight="bold")
event.canvas.draw()
update_polygon(-1)
fig.gca().add_patch(polygon)
plt.gcf().canvas.mpl_connect('motion_notify_event',
motion_notify)
plt.show()
输出: