使用matplotlib創建多個獨立圖的最佳做法是什麼,以便稍後可以調用它們或輸出到pdf報告中?我有點不清楚如何以保留內存中的每個圖的方式來執行此操作(就像我們可以使用數據幀一樣)以供日後參考。創建和引用單獨的matplotlib圖
假設我們有這樣的代碼:
%pylab inline
x1 = np.random.randn(50)*100
y1 = np.random.randn(50)*100
x2 = np.random.randn(50)*100
y2 = np.random.randn(50)*100
,並意圖在某種程度上是創建2個獨立的(X1,Y1)和(x2,y2)的和「拯救」他們的陰謀以後引用。目的是能夠將這些輸出到PDF中(可能通過reportlab)。 「數字」,「子圖」和「座標軸」之間的關係令我感到困惑,我不確定什麼是最佳的。我開始採用如下方法:
plt.figure(1, figsize=(8, 6))
plt.subplot(211)
plt.scatter(x1, y1, c = 'r', alpha = 0.3)
plt.subplot(212)
plt.scatter(x2, y2, c = 'k', alpha = 0.7)
plt.show()
哪個技術上可行,但我不確定我以後可以參考這些。另外,我在這裏用一個小例子來說明,但實際上我可能有更多這樣的例子。
不完全在現場,但幾乎是重複的。請參閱[this](http://stackoverflow.com/questions/11469336/what-is-the-difference-between-pylab-and-pyplot)。你可能想要'pyplot'。但是你仍然可以使用'pylab',並隨後調用plt.figure(N),再次選擇你的第N個圖形並繪製它。 – gg349
謝謝,我實際上是在我的導入中使用pylot。我必須包含%pylab內嵌位,否則圖片不會顯示出來 – laszlopanaflex
然後像'fig,ax = plt.subplots(); ax.plot([1,2,3]),fig.show()'。您可以在您的代碼中儘可能多的位置繪製「ax」軸,並且只在最後調用'fig.show()'。對於許多數字,你會有'fig1,ax1',你有想法 – gg349