繁体   English   中英

如何在子图之间创建空间?

[英]How to create space between subplots?

标题基本概括了所有内容。 我有一个包含两个子图的笔记本,并希望在它们之间创建一些空间。 他们说的话彼此看起来太接近了。

使用matplotlib.Figure.subplots_adjust

import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.plot([1,2,3], [1,2,3])
ax2.plot([1,2,3], [3,2,1])
plt.show()

在此处输入图片说明

可以使用wspace参数来增加宽度:

... # same setup as before
fig.subplots_adjust(wspace=2)
plt.show()

在此处输入图片说明

如果要进一步控制axes的位置,则可以将每个axes的偏移量(底部和左侧)和延伸量(宽度和高度)指定为图形的百分比。

它需要一些计算才能正确:

import matplotlib.pyplot as plt

# All have the same lower border, height and width, only the distance to
# the left end of the figure differs
bottom = 0.05
height = 0.9
width = 0.15  # * 4 = 0.6 - minus the 0.1 padding 0.3 left for space
left1, left2, left3, left4 = 0.05, 0.25, 1 - 0.25 - width, 1 - 0.05 - width

rectangle1 = [left1, bottom, width, height]
rectangle2 = [left2, bottom, width, height]
rectangle3 = [left3, bottom, width, height]
rectangle4 = [left4, bottom, width, height]

# Create a 8 x 8 (quadratic) figure
plt.figure(1, figsize=(8, 8))

// Create 4 axes their position and extend is defined by the rectangles
ax1 = plt.axes(rectangle1)
ax2 = plt.axes(rectangle2)
ax3 = plt.axes(rectangle3)
ax4 = plt.axes(rectangle4)

# Let's display something in these axes.
ax1.plot([1,2,3,4])
ax2.plot([4,3,2,1])
ax3.plot([4,3,2,1])
ax4.plot([1,2,3,4])

plt.show()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM