Как я мог бы расположить несколько фигур пистолета в виде макета?

Я создал программное обеспечение для анализа сигналов. Существует несколько функций, и каждый из них, наконец, отображает сложную фигуру, содержащую метки, график, axhspan, axvspan и т.д. Обычно эти функции называются индивидуально. Каждый из моих функций возвращает объект фигуры, который я могу сохранить в pdf, например.

def Myfunction1(self):
 fig = pyplot.figure()
 ...do somestuff, create my figure
 pyplot.show()
 fig.savefig('C:\MyFigurefolder\figure1.pdf', dpi=300)
 return fig
def Myfunction2(self):
 fig = pyplot.figure()
 ...do some other stuff, create my 2nd figure
 pyplot.show()
 fig.savefig('C:\MyFigurefolder\figure2.pdf', dpi=300)
 return fig

Теперь я хотел бы создать своего рода "итоговую цифру", сделав метаанализ и объединив несколько фигур вместе и сохранив их в окончательном pdf. Я не знаю, как это сделать. Есть ли способ использовать целые фигурные объекты (или, может быть, несколько отдельных PDF), чтобы сделать мою фигуру?

Что-то вроде:

def FinalFigure(self):
 final = A_Kind_Of_Layout_Or_A_Figure_or_something
 a=self.Myfunction1()
 b=self.Myfunction2()
 Action_to_arrange_a_and_b_like_gridspec
 final.savefig('C:\MyFigurefolder\FinalFigure.pdf', dpi=300)
1 ответ

Вы можете комбинировать несколько графиков с matplotlib.pyplot.subplot. Для большего контроля над компоновкой проверьте GridSpec.

Изменить: В соответствии с запросом, короткий пример связанного учебника:

Экземпляр gridspec предоставляет индексирование по массиву (2d или 1d), которое возвращает экземпляр SubplotSpec. Для, SubplotSpec, который охватывает несколько ячеек, используйте срез.

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :])
ax2 = plt.subplot(gs[1,:-1])
ax3 = plt.subplot(gs[1:, -1])
ax4 = plt.subplot(gs[-1,0])
ax5 = plt.subplot(gs[-1,-2])

licensed under cc by-sa 3.0 with attribution.