如何将 `GridSpec()` 与 `subplots()` 一起使用
Posted
技术标签:
【中文标题】如何将 `GridSpec()` 与 `subplots()` 一起使用【英文标题】:How to use `GridSpec()` with `subplots()` 【发布时间】:2016-03-20 00:49:52 【问题描述】:有几个 (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])
不用说这段代码不起作用,它只是一个例子。
【问题讨论】:
【参考方案1】:您可以在subplots
调用中使用gridspec_kw
参数将kwargs
发送到GridSpec
,而不是在subplots
之前调用gridspec.GridSpec
。来自docs:
gridspec_kw
: 字典带有关键字的字典传递给用于创建放置子图的网格的 GridSpec 构造函数。
所以,例如:
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()
【讨论】:
以上是关于如何将 `GridSpec()` 与 `subplots()` 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
创建一个图形,其中包含按 gridspec 布局排列的绘图、滑块和其他小部件
Matplotlib 使用GridSpec和其他功能自定义图形布局
gridspec 和共享 yaxis 的问题:如何正确格式化?
SQL SERVER 2005删除维护作业报错:The DELETE statement conflicted with the REFERENCE constraint "FK_subpl