How to use `GridSpec()` with `subplots()`

匿名 (未验证) 提交于 2019-12-03 02:47:02

问题:

There are several (example) SO posts dealing with how to use GridSpec with subplotting in general. What i am trying to achieve to no avail, is to allow the use of GridSpec with subplots, something like this, Where i can replace the actual Array and list indexes with some loop controlled index :

gs = gridspec.GridSpec(4, 1, height_ratios=[2, 2, 1, 1])         tPlot, axes = plt.subplots(4, sharex=True, sharey=False) tPlot.suptitle(node, fontsize=20) axes[0].plot(targetDay[0], gs[0]) axes[1].plot(targetDay[1], gs[1]) axes[2].scatter(targetDay[2], gs[2]) axes[3].plot(targetDay[3], gs[3]) 

Needless to say that this code does not work, it just an example.

回答1:

Rather than calling gridspec.GridSpec before subplots, you can send the kwargs to GridSpec from within your subplots call, using the gridspec_kw argument. From the docs:

gridspec_kw : dict

Dict with keywords passed to the GridSpec constructor used to create the grid the subplots are placed on.

So, for example:

import matplotlib.pyplot as plt  tPlot, axes = plt.subplots(         nrows=4, ncols=1, sharex=True, sharey=False,          gridspec_kw={'height_ratios':[2,2,1,1]}         )  tPlot.suptitle('node', fontsize=20)  axes[0].plot(range(10),'ro-')  axes[1].plot(range(10),'bo-')  axes[2].plot(range(10),'go-')  axes[3].plot(range(10),'mo-')   plt.show() 



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!