在matplotlib

时间:2017-12-27 09:24:28

标签: python matplotlib

我试图在matplotlib的左侧留下一些空格,但无法弄清楚如何做到这一点。

从文档中我了解到在图上使用add_axes()方法,我可以将轴放在任意位置。

例如,下面的代码应该在图的右半部分创建轴:

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,4))
fig.add_axes([0.5, 0, 0.5, 1])

但是,如果你运行它,轴将出现在图的左半部分。我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

您可以使用add_axes方法将轴放在任意位置。位置列表必须包含原点的位置(从左下角开始),高度和宽度如下:

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,4))
# [x0, y0, width, height]
fig.add_axes([0.3, 0.1, 0.6, 0.8])

图中的所有相对值(0到1之间的值)

但是,如果要使用默认边距并保持其他轴的位置,可以先获取原始位置,更新它,然后按如下所示再次设置。

fig = plt.figure(figsize=(6,4))
ax = plt.axes()

pos = ax.get_position()
pos.x0 = 0.2       # for example 0.2, choose your value
ax.set_position(pos)

pos包含x0x1y0y1,它们是Bbox轴的位置。