我有两个情节
import matplotlib.pyplot as plt plt.subplot(121) plt.subplot(122)
我希望plt.subplot(122)的宽度是plt.subplot(121)的一半。有没有直接的方法来设置子图的高度和宽度参数?
plt.subplot(122)
plt.subplot(121)
zfycwa2u1#
请参见栅格等级库教程:http://matplotlib.sourceforge.net/users/gridspec.html示例代码:
import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec f = plt.figure() gs = gridspec.GridSpec(1, 2,width_ratios=[2,1]) ax1 = plt.subplot(gs[0]) ax2 = plt.subplot(gs[1]) plt.show()
还可以使用GridSpec中的类似选项调整高度比
ct2axkht2#
是的,如果你想把代码压缩到一行,你可以把所有要传递给matplotlib.gridspec.GridSpec()的kwargs放到plt.subplots()的gridspec_kw参数中:
matplotlib.gridspec.GridSpec()
plt.subplots()
gridspec_kw
import matplotlib.pyplot as plt import pandas as pd import numpy as np fig, axs = plt.subplots(nrows=2, ncols=2, gridspec_kw={'width_ratios':[2,1], 'height_ratios':[2,1]}) df = pd.DataFrame(np.random.randn(10, 3), columns=['A', 'B', 'C']) df.plot.bar(ax=axs[0][0]) df.boxplot(ax=axs[0][1]) df.plot.line(ax=axs[1][0]) df.plot.kde(ax=axs[1][1])
j13ufse23#
只需使用“122“指定几何图形,就可以隐式地获得自动的、大小相等的列和行布局。要自定义布局网格,您需要更具体一点。请参阅Matplotlib文档中的“Customizing Location of Subplot Using GridSpec“。
122
3条答案
按热度按时间zfycwa2u1#
请参见栅格等级库教程:
http://matplotlib.sourceforge.net/users/gridspec.html
示例代码:
还可以使用GridSpec中的类似选项调整高度比
ct2axkht2#
是的,如果你想把代码压缩到一行,你可以把所有要传递给
matplotlib.gridspec.GridSpec()
的kwargs放到plt.subplots()
的gridspec_kw
参数中:j13ufse23#
只需使用“
122
“指定几何图形,就可以隐式地获得自动的、大小相等的列和行布局。要自定义布局网格,您需要更具体一点。请参阅Matplotlib文档中的“Customizing Location of Subplot Using GridSpec“。