Matplotlib.axes.axes.set_aspect()
Matplotlib是Python中的一个库,它是NumPy库的数值-数学扩展。
Axes包含了大多数图形元素:Axis、Tick、Line2D、Text、Polygon等,并设置坐标系。Axes的实例通过callbacks属性支持回调。
示例代码
# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
# make an agg figure
fig, ax = plt.subplots()
ax.plot([1, 2, 3])
ax.set_title('matplotlib.axes.Axes function')
fig.canvas.draw()
plt.show()
输出:
matplotlib.axes.axes.set_aspect()函数
matplotlib库的Axes模块中的Axes.set_aspect()函数用于设置轴缩放的角度,i.e。单位y和单位x的比值。
Syntax:
Axes.set_aspect(self, aspect, adjustable=None,anchor=None,share=False)
参数:该方法接受以下参数。
- 这个参数接受以下值{‘ auto ‘, ‘ equal ‘}或num。
- 可调的:这定义了将调整哪个参数以满足所需的方面。
- 锚:这个参数用于定义Axes将在哪里绘制,如果有额外的空间,由于方面的限制。
- 共享:此参数用于将设置应用于所有共享Axes。
返回值:该方法不返回任何值。
下面的例子演示了matplotlib.axes.axes.set_aspect()函数在matplotlib.axes中的作用:
示例1
# ImpleIn Reviewtation of matplotlib function
import matplotlib.pyplot as plt
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.set_xscale("log")
ax1.set_yscale("log")
ax1.set_adjustable("datalim")
ax1.plot([1, 3, 34, 4, 46, 3, 7, 45, 10],
[1, 9, 27, 8, 29, 84, 78, 19, 48],
"o-", color ="green")
ax1.set_xlim(1e-1, 1e2)
ax1.set_ylim(1, 1e2)
ax1.set_title("No set_aspect")
ax2.set_xscale("log")
ax2.set_yscale("log")
ax2.set_adjustable("datalim")
ax2.plot([1, 3, 34, 4, 46, 3, 7, 45, 10],
[1, 9, 27, 8, 29, 84, 78, 19, 48],
"o-", color ="green")
ax2.set_xlim(1e-1, 1e2)
ax2.set_ylim(1, 1e2)
ax2.set_aspect(2)
ax2.set_title("set_aspect value = 2")
fig.suptitle('matplotlib.axes.Axes.set_aspect() \
function Example\n', fontweight ="bold")
fig.canvas.draw()
plt.show()
输出:
示例2
# ImpleIn Reviewtation of matplotlib function
import matplotlib.pyplot as plt
import matplotlib.tri as tri
import numpy as np
n_angles = 20
n_radii = 10
min_radius = 2
radii = np.linspace(min_radius, 0.95, n_radii)
angles = np.linspace(0, 4 * np.pi, n_angles,
endpoint = False)
angles = np.repeat(angles[..., np.newaxis],
n_radii, axis = 1)
angles[:, 1::2] += np.pi / n_angles
x = (radii * np.cos(angles)).flatten()
y = (radii * np.sin(angles)).flatten()
triang = tri.Triangulation(x, y)
triang.set_mask(np.hypot(x[triang.triangles].mean(axis = 1),
y[triang.triangles].mean(axis = 1))
< min_radius)
fig, (ax, ax1) = plt.subplots(1, 2)
ax.triplot(triang, 'bo-', lw = 1, color = "green")
ax.set_title("No set_aspect")
ax1.set_aspect('equal')
ax1.triplot(triang, 'bo-', lw = 1, color = "green")
ax1.set_title("set_aspect value ='equal'")
fig.suptitle('matplotlib.axes.Axes.set_aspect() \
function Example\n', fontweight ="bold")
fig.canvas.draw()
plt.show()
输出: