Я хотел бы иметь код, который дополнительно отображает фигуру, сгенерированную с помощью matplotlib в блокноте Jupyter. Причина, по которой я хочу, заключается в том, что рисунки сохраняются на диске, и иногда было бы неплохо не показывать их в самой записной книжке.
Кроме того, я бы хотел, чтобы несколько графиков былисоздан в одной ячейке с некоторыми показанными, а некоторые не показанными.
import numpy as np
import matplotlib.pyplot as plt
t = np.linspace(-5, 5, 100)
y1 = t
y2 = t**2
show_fig1 = True
show_fig2 = True
fig1 = plt.figure()
ax1 = fig1.add_subplot(1, 1, 1)
ax1.plot(t,y1)
fig1.savefig('fig1.png')
print('Showing Figure 1:')
if show_fig1:
plt.show()
fig2 = plt.figure()
ax2 = fig2.add_subplot(1, 1, 1)
ax2.plot(t,y2)
fig2.savefig('fig2.png')
print('Showing Figure 2:')
if show_fig2:
plt.show()
print('Done Showing Figures')
Приведенный выше код не работает, но это мое лучшее усилие.
Если show_fig1=False
и show_fig2=True
, то рис.1 будет отображаться, как только будет вызван plt.show()
в блоке кода fig2
.
Если show_fig1=True
и show_fig2=False
затем fig1
отображается правильно, но fig2
по-прежнему появляется в конце ячейки (после того, как напечатано «Готово с отображением рисунков»).
Если они оба ложные, то оба графика появляются в самом концеячейки.
Я пробовал другие комбинации, такие как fig1.show()
вместо plt.show()
, но, похоже, это не работает. Я пробовал различные настройки, такие как использование или не использование %matplotlib inline
или ion()
и ioff()
.
Есть предложения?