本文介绍了Matplotlib:子图的高度相同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在以下示例中,如何将两个子图设置为相同的高度?

in the following example, how can I set both subfigures to the same height?

#minimal example
import matplotlib.pyplot as plt
import numpy as np
f, (ax1, ax2) = plt.subplots(1, 2)
im = np.random.random((100,100))
ax1.imshow(im)
ax1.set_xlim(0, im.shape[1])
ax1.set_ylim(0, im.shape[0])
x = np.arange(100)
ax2.plot(x, x**2)

推荐答案

您可以使用 matplotlib.gridspec :

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import numpy as np

# Add subplots using gridspec instead of plt.subplots()
gs = gridspec.GridSpec(1,2, height_ratios=[1,1])
f = plt.figure()
ax1 = plt.subplot(gs[0])
ax2 = plt.subplot(gs[1])

im = np.random.random((100,100))
ax1.imshow(im)
ax1.set_xlim(0, im.shape[1])
ax1.set_ylim(0, im.shape[0])
x = np.arange(100)
ax2.plot(x, x**2)

产生如下输出:

这篇关于Matplotlib:子图的高度相同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-10 20:17