有几篇(example)SO帖子涉及如何将GridSpec
与子图一般使用。
我试图实现无济于事,是允许GridSpec
与subplots
一起使用,类似这样,我可以用一些循环控制索引替换实际的数组和列表索引:
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])
毋庸置疑,这段代码不起作用,只是一个例子。
答案 0 :(得分:35)
您可以使用gridspec.GridSpec
在subplots
来电中kwargs
向[{1}}发送GridSpec
,而不是在subplots
之前致电gridspec_kw
。论点。来自docs:
gridspec_kw
:dict使用关键字传递给GridSpec构造函数的Dict,用于创建放置子图的网格。
所以,例如:
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()