我正在使用pandas和matplotlib来绘制一个包含5个疗程的实验数据。我希望每个会话的数据显示在一个单独的面板中;我正在尝试使用子绘图来实现这一点。在
使用下面的代码,我几乎得到了我想要的东西(请参见下面的示例图:http://imgur.com/99nK2TR)。问题是,不同的疗程有不同的试验次数,当我绘图时,不同的小组的尺度也会改变。我希望所有绘图中的比例都相同,并调整子图边界框的大小。因此,每个试验组都应比试验组S3b的间隔更宽(每个试验组包括S2b)。在
我想我可能需要使用aspect和/或adjustable和/或sharex的组合,但我无法理解如何。。。在
为我是新来的劣质编码道歉fig,([ax1,ax2,ax3,ax4,ax5]) = plt.subplots(1, 5, sharey=True)
dfsubset1.plot(xticks=range(1,13,1), xlim=[0,13], ylim=[0,35], ax=ax1, title='S1', figsize=(12, 6), style='o-', legend=False)
dfsubset2.plot(xticks=range(1,4,1), xlim=[0,4], ylim=[0,35], ax=ax2, title='S2a', figsize=(12, 6), style='o-', legend=False)
dfsubset3.plot(xticks=range(1,13,1), xlim=[0,13], ylim=[0,35], ax=ax3, title='S2b', figsize=(12, 6), style='o-', legend=False)
dfsubset4.plot(xticks=range(1,4,1), xlim=[0,4], ylim=[0,35], ax=ax4, title='S3a', figsize=(12, 6), style='o-', legend=False)
dfsubset5.plot(xticks=range(1,4,1), xlim=[0,4], ylim=[0,35], ax=ax5, title='S3b', figsize=(12, 6), style='o-', legend=False)