Matplotlib - grafik nesnesinde plt.show ()
Burada gerçekten basit bir örneğim var. Bir işlevden dönen bir balta nesnesinden bir çizim yapıyorum:
import matplotlib.pyplot as plt
x = ['a', 'b', 'c']
y = [1, 2, 3]
def make_plot():
fig, ax = plt.subplots()
ax.set_title('test bar chart')
return ax
chart = make_plot()
chart.bar(x, y)
plt.show() #why does this show the chart?
Sorum sonunda plt.show () ile ilgili. Açıkçası, bu grafiğin çıktısını gösterir. Ama neden? Bana plt.show () herhangi bir şeye bağlı gibi görünmüyor. Benim sahip charttüm parametreleri ve etajer ile benim Grafiği içeren nesne. Peki plt.show () bununla etkileşime girmeyi nasıl biliyor? Aşağıdaki gibi bir şey olması daha sezgisel görünüyor chart.show()gibi chartsınıf örneğidir.
Yanıtlar
İyi soru! chartaradığınızda oluşturulan bir Eksendir plt.subplots(). Pyplot, "durum bilgisi olan" API denen şeydir. Plt. * İşlevlerine çağrı yaptığınızda, pyplot'un dahili durumunu değiştirir ve bu gelecekteki çağrıları etkileyebilir. Aradığınızda plt.subplots(), içinde yeni oluşturulmuş alt grafik Axes olan yeni oluşturulmuş bir Şekil olduğunu bilir.
Benzer şekilde, çağırırsanız plt.plot(), en son eksenlerin ne olduğuna dair depolanmış bir kaydı vardır ve verileri bu grafikte çizer.
Pyplot kaynak koduna bir göz attığınızdamanager , geçerli grafiği depolamak için kullandığı global bir değişkene sahip olduğunu ve managerbir çizim oluşturduğunuzda bunu güncellediğini görebilirsiniz .
Ek olarak, var Figure.show(). Pyplot etrafında çalışmak istiyorsanız, şuna benzer