Salvar uma figura depois de chamar pyplot.show () resulta em um arquivo vazio

O código de exemplo a seguir gera um gráfico simples, salva-o em 'fig1.pdf', exibe-o e salva-o novamente em 'fig2.pdf'. A primeira imagem parece como o esperado, mas a segunda está em branco (contém um quadrado branco). O que realmente está acontecendo aqui? A linhaplt.show() aparentemente estraga alguma coisa, mas não consigo descobrir o que / como!

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-1, 1, 100)
y = x**2
plt.plot(x,y)
plt.savefig('fig1.pdf')
plt.show()
plt.savefig('fig2.pdf')

questionAnswers(4)

yourAnswerToTheQuestion