Дополнительный вопрос к недавнему уточнению смежности.Я знаю, чего мне нужно достичь, но, будучи относительно новым для python / matplotlib, я несколько растерялся.
По названию - я пытаюсь создать макет панели мониторинга, который включает в себя как горизонтальную, так и вертикальную смежность.В соответствии с указаниями из предыдущих вопросов - у меня есть внешний вид сетки и 3 внутренних вида сетки (gs0, gs1 & gs2).
Моя задача - средний уровень - gs1.Мне нужно создать 2 вертикальные диаграммы (на LHS строки) и одну полярную диаграмму, которая охватывает 2 строки на RHS.Моя задача состоит в том, как объединить 2 ячейки в один топор и, что важно, как правильно создать такой сложный макет.
Заранее спасибо.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
def example_plot(ax):
ax.plot([1, 2])
ax.set_xlabel('x-label', fontsize=12)
ax.set_ylabel('y-label', fontsize=12)
ax.set_title('Title', fontsize=14)
fig = plt.figure(constrained_layout=False)
outer_gs = gridspec.GridSpec(nrows=3, ncols=1, figure=fig, height_ratios=[5,2,2], wspace=0.2, hspace=0.3)
gs0 = gridspec.GridSpecFromSubplotSpec(nrows=3, ncols=1, subplot_spec=outer_gs[0], height_ratios=[1,4,1], wspace=0.2, hspace=0)
gs1 = gridspec.GridSpecFromSubplotSpec(nrows=2, ncols=2, subplot_spec=outer_gs[1], width_ratios=[5,2], wspace=0.2, hspace=0.2)
gs2 = gridspec.GridSpecFromSubplotSpec(nrows=1, ncols=5, subplot_spec=outer_gs[2], wspace=0, hspace=0.3)
# Top 3 adjacent charts
for n in range(3):
ax = fig.add_subplot(gs0[n])
example_plot(ax)
# Middle bit - 2 horizontal plots and polar chart on RHS (spanning both rows)
ax4 = fig.add_subplot(gs1[0])
example_plot(ax4)
ax5 = fig.add_subplot(gs1[1])
example_plot(ax5)
ax6 = fig.add_subplot(gs1[2])
example_plot(ax6)
ax7 = fig.add_subplot(gs1[3])
example_plot(ax7)
# Bottom 5 dials
for n in range(5):
ax = fig.add_subplot(gs2[n])
example_plot(ax)
targetмакет панели приборов