我用下面的代码创建的:
fig = plt.figure(facecolor='#131722',dpi=155, figsize=(8, 4))
ax1 = plt.subplot2grid((1,2), (0,0), facecolor='#131722')
ax2 = plt.subplot2grid((1,2), (0,1), facecolor='#131722')
现在我想添加两个图表,所以 ax3
和 ax4,每个都需要在两个图表的下方,它们应该具有两个图表的相同宽度,但高度是两个图表的一半更大的图表。我怎样才能做到这一点?我从这里尝试了各种解决方案 here但我正在努力获得预期的输出
最佳答案
您可以使用 plt.subplots
的 gridspec_kw
参数来实现这一点。这允许您指定网格的尺寸(在本例中为 2x2)和高度比:
f, ax = plt.subplots(2, 2 , gridspec_kw={"height_ratios": [2, 1]})
for cAx in ax.flatten():
cAx.set_facecolor('#131722')
f.savefig("test.png", facecolor='#131722')
或者,您也可以创建一个 3x2 网格并指定前两个子图需要跨越两行:
fig = plt.figure(facecolor='#131722',dpi=155, figsize=(8, 6))
ax1 = plt.subplot2grid((3,2), (0,0), facecolor='#131722', rowspan=2)
ax2 = plt.subplot2grid((3,2), (0,1), facecolor='#131722', rowspan=2)
ax3 = plt.subplot2grid((3,2), (2,0), facecolor='#131722')
ax4 = plt.subplot2grid((3,2), (2,1), facecolor='#131722')
关于python - 将图表添加到 matplotlib 子网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62260986/