2015-12-14 12 views
16

Es gibt mehrere (example) SO-Posts, die sich mit der Verwendung von GridSpec mit Subplotting im Allgemeinen befassen. Was ich versuche, ohne Erfolg zu erreichen, ist die Verwendung von GridSpec mit subplots, so etwas zu erlauben, wo ich die tatsächlichen Array und Liste Indizes mit einem gewissen gesteuerten Index ersetzen:Wie man `GridSpec()` mit `subplots()` verwendet

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

Unnötig zu sagen, dass dieser Code nicht funktioniert, es ist nur ein Beispiel.

Antwort

25

Anstatt gridspec.GridSpec vor subplots aufrufen, können Sie die kwargs zu GridSpec aus Ihrem subplots Anruf senden, das gridspec_kw Argument. Von der docs:

gridspec_kw:

Dict mit Keywords an den Konstruktor übergeben GridSpec DIKT verwendet, um das Raster die Handlungsstränge zu schaffen platziert auf.

So zum Beispiel:

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

Verwandte Themen