📜  matplotlib 绘图调整边距 - Python (1)

📅  最后修改于: 2023-12-03 15:32:51.777000             🧑  作者: Mango

Matplotlib绘图调整边距

当使用Matplotlib绘制图形时,我们通常需要调整图形的边距。Matplotlib提供了一些方法来实现这一点。

调整Figure边距

Figure边距控制图形的边框和坐标轴标签之间的空间。可以使用subplots_adjust()方法来调整Figure边距。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# 调整左、右、底部和顶部边距(均为相对于Figure宽和高的比例值)
plt.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)

plt.show()

leftrightbottomtop参数都是可选的。它们的默认值为0.1250.90.10.9

调整Axes边距

Axes边距控制坐标轴标签和图形之间的空间。可以使用set_position()方法来调整Axes边距。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

# 调整Axes边距(左、底部和宽度为相对于Figure宽的比例值,高度为相对于Axes高度的比例值)
ax.set_position([0.2, 0.2, 0.6, 0.6])

plt.show()

set_position()方法的参数是一个四元组,包含左、底部、宽度和高度。这些参数的默认值分别为0.1250.1250.7750.775

调整坐标轴标签

如果坐标轴标签的长度很长,可以使用set_label_coords()方法将它们移动到其他位置。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.set_xlabel('this is a long xlabel')
ax.set_ylabel('this is a long ylabel')

# 调整横轴标签到Axes底部中心
ax.xaxis.set_label_coords(0.5, -0.1)

# 调整纵轴标签到Axes左侧中心
ax.yaxis.set_label_coords(-0.1, 0.5)

plt.show()

set_label_coords()方法的参数是横向和纵向的相对位置(从0到1的比例值)。默认的值是横向为1.05,纵向为0.5

以上就是Matplotlib绘图调整边距的方法。通过这些方法,您可以轻松地控制图形的边距和坐标轴标签的位置。