Как упорядочить вложенные сюжеты в Matplotlib?

У меня есть 3 графика, расположенные вертикально со следующим кодом:

plt.figure(1)
plt.subplot(311)
plt.plot(z2, 'blue')
plt.plot(mid2, 'orange')
plt.plot(z3, 'red')
plt.plot(mid3, 'orange')
plt.subplot(312)
plt.plot(z)
plt.plot(mid)
plt.subplot(313)
plt.plot(proportional, "black")

Но я хочу добавить еще один график рядом с первым графиком (311). Я имею в виду, что хочу иметь два графика внутри первой строки, затем один график внутри следующих двух строк, как и раньше (мне нравится показывать z2, mid2 на одном графике и z3, mid3 на другом графике рядом с этим, оба внутри первой строки) . Если это возможно, как я могу это сделать?


person WDR    schedule 19.06.2019    source источник


Ответы (1)


Я сделаю другой пример. Этот код plt.subplot(324) сделает вашу фигуру таблицей 3x2 (3 строки и 2 столбца) и сделает координату на «ячейке 4». См. изображение нижеthe table Итак, если вы хотите нанести z2 и mid2 на "ячейку 1", то plt.subplot(321) и plot их.

Вы можете построить z и mid как на «ячейке 3», так и на «ячейке 4», затем

plt.subplot(312)

(таблица 3x1 и создайте координату в «ячейке 2», что эквивалентно таблице 3x2 с координатой как в «ячейке 3», так и в «ячейке 4»)

Таким образом, ваш код может быть примерно таким:

plt.figure(1)

plt.subplot(321)             # "cell 1"
plt.plot(z2, 'blue')
plt.plot(mid2, 'orange')

plt.subplot(322)             # "cell 2"
plt.plot(z3, 'red')
plt.plot(mid3, 'orange')

plt.subplot(312)             # "cell 3" and "cell 4"
plt.plot(z)
plt.plot(mid)

plt.subplot(313)             # "cell 5" and "cell 6"
plt.plot(proportional, "black")
person Tiendung    schedule 19.06.2019
comment
Большое тебе спасибо. Всего один вопрос. В первой строке у меня есть 2 графика, метки правого графика будут перекрываться с левым графиком. Есть ли способ увеличить расстояние между ними до графиков или переместить метки правого бокового графика на его правую сторону? (Под метками я подразумеваю номера Y-AXIS). - person WDR; 19.06.2019