我试图在matplotlib的左侧留下一些空格,但无法弄清楚如何做到这一点。
从文档中我了解到在图上使用add_axes()方法,我可以将轴放在任意位置。
例如,下面的代码应该在图的右半部分创建轴:
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,4))
fig.add_axes([0.5, 0, 0.5, 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
包含x0
,x1
,y0
和y1
,它们是Bbox
轴的位置。