如何自定义 Matplotlib 图形的脊椎?
machine learningserver side programmingprogrammingmatplotlib更新于 2025/5/21 7:07:17
当我们在 Matplotlib 中绘制图形时,它会在图形周围创建四个脊椎,即顶部、左侧、底部和右侧。脊椎只不过是一个用网格的图形表示包围的框,该框在左侧(y)和底部(x)显示一些刻度和可刻度轴。
让我们看看如何自定义给定图形中的脊椎。我们将创建六个图形来查看并自定义其脊柱。
首先导入工作簿所需的库。
import numpy as np import matplotlib.pyplot as plt
让我们绘制正弦图,
theta = np.linspace(0, 2*np.pi, 128) y = np.sin(theta) fig = plt.figure(figsize=(8,6))
使用默认脊柱定义轴,
ax1 = fig.add_subplot(2, 3, 1)
ax1.plot(theta, np.sin(theta), 'b-*')
ax1.set_title('default spines')
定义绘制图形的函数,
def plot_graph(axs, title, lposition, bposition):
ax = fig.add_subplot(axs)
ax.plot(theta, y, 'b-*')
ax.set_title(title)
ax.spines['left'].set_position(lposition)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_position(bposition)
ax.spines['top'].set_visible(False)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
让我们绘制 3 个图表。
plot_graph(232, 'centered spines', 'center', 'center')
plot_graph(233, 'zeroed spines', 'zero', 'zero')
plot_graph(234, 'spines at axis [0.25, 0.75]', ('axes', 0.25),('axes', 0.75))
plot_graph(235, 'spines at data [1.0, -1.0]', ('data', 1.0),('data', -1.0))
plot_graph(236, 'adjusted spines', ('outward', 10), ('outward', 10))
让我们将图放入网格中并显示。
plt.tight_layout() plt.show()
输出


