2015-12-14 13 views
16

GridSpecの一般的な使い方を扱った投稿がいくつかあります(example)。`subplots()`で `GridSpec()`を使う方法

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]) 

言うまでもなくへ: 私は無駄に達成しようとしています何を、私はいくつかのループ制御指標と実際の配列やリストのインデックスを置き換えることができsubplots、このようなもの、とGridSpecの使用を可能にすることですこのコードはうまくいかない、と言います。

答えて

25

よりもむしろsubplotsgridspec.GridSpecを呼び出して、あなたはgridspec_kw引数を使用して、あなたのsubplots呼び出し内からGridSpeckwargsを送ることができます。 docsから:

gridspec_kw:サブプロットが上に配置されているグリッドを作成するために使用さGridSpecコンストラクタに渡されたキーワードと

Dictのをの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() 

enter image description here

関連する問題