Matplotlib 1.2 新功能 (2012 年 11 月 9 日)#
注意
matplotlib 1.2 支援 Python 2.6、2.7 和 3.1
Python 3.x 支援#
Matplotlib 1.2 是第一個支援 Python 3.x 的版本,特別是 Python 3.1 和 3.2。為了以合理的方式實現這一點,我們也必須放棄對早於 2.6 的 Python 版本的支援。
這項工作由 Michael Droettboom、開普敦 Python 使用者群組、許多其他人完成,並由 SAGE 專案提供部分財務支持。
以下 GUI 後端在 Python 3.x 下運作:Gtk3Cairo、Qt4Agg、TkAgg 和 MacOSX。其他 GUI 後端尚未有足夠的 Python 3.x 綁定,但繼續在 Python 2.6 和 2.7 上運作,特別是 Qt 和 QtAgg 後端(已被棄用)。非 GUI 後端(例如 PDF、PS 和 SVG)可在 Python 2.x 和 3.x 上運作。
依賴 Python Imaging Library 的功能(例如 JPEG 處理)無法運作,因為適用於 Python 3.x 的 PIL 版本不夠成熟。
PGF/TikZ 後端#
Peter Würtz 編寫了一個後端,允許 matplotlib 將圖形匯出為 LaTeX 的繪圖命令。這些命令可以使用 PGF/TikZ 套件透過 PdfLaTeX、XeLaTeX 或 LuaLaTeX 進行處理。使用範例和文件可在 使用 pgf 後端透過 XeLaTeX/LuaLaTeX 進行文字渲染 中找到。

Locator 介面#
Philip Elson 使用簡單的介面公開了刻度 Locator 類別背後的智慧。例如,取得不超過 5 個跨越 10 到 19.5 之間值的合理步驟
>>> import matplotlib.ticker as mticker
>>> locator = mticker.MaxNLocator(nbins=5)
>>> print(locator.tick_values(10, 19.5))
[ 10. 12. 14. 16. 18. 20.]
三維曲面圖#
Damon McDougall 為 mplot3d
工具組新增了一個新的繪圖方法,稱為 plot_trisurf()
。

控制色彩條延伸的長度#
Andrew Dawson 為 colorbar()
新增了一個關鍵字引數 *extendfrac*,以控制色彩條最小和最大延伸的長度。

圖形可被 pickle#
Philip Elson 新增了一項實驗性功能,使圖形可被 pickle,以便快速輕鬆地短期儲存繪圖。Pickle 檔案不適用於長期儲存,當還原在另一個 matplotlib 版本中儲存的 pickle 時不受支援,並且當從不受信任的來源還原 pickle 時不安全。話雖如此,它們對於在 matplotlib 內部進行後續修改的短期儲存很有用。
在 matplotlibrc 中設定預設邊界框#
在 matplotlibrc 設定檔中,新增了兩個預設值:savefig.bbox
,可以設定為 'standard' 或 'tight',以及 savefig.pad_inches
,用於控制邊界框的內距。
新的箱形圖功能#
現在使用者可以將自己計算中位數及其信賴區間的方法,整合到 boxplot
方法中。對於傳遞給 boxplot 的每一列資料,使用者可以指定一個相應的中位數和信賴區間。

新的 RC 參數功能#
Matthew Emmett 新增了一個函數和一個上下文管理器,以協助管理 RC 參數:rc_file()
和 rc_context
。從檔案載入 RC 參數:
>>> mpl.rc_file('mpl.rc')
暫時使用 RC 參數:
>>> with mpl.rc_context(fname='mpl.rc', rc={'text.usetex': True}):
>>> ...
流線圖#
Tom Flannaghan 和 Tony Yu 新增了一個新的 streamplot()
函數,用於繪製向量場的流線。這是一個長期以來被要求的功能,並且與現有的 quiver()
函數(用於繪製向量場)形成互補。除了簡單地繪製向量場的流線之外,streamplot()
還允許使用者將流線的顏色和/或線寬映射到單獨的參數,例如向量場的速度或局部強度。

新的直方圖功能#
Nic Eggert 在 hist()
中新增了一個 stacked kwarg,允許使用任何直方圖類型建立堆疊直方圖。以前,此功能只能透過使用 "barstacked" 直方圖類型來實現。現在,當 stacked=True
傳遞給函數時,任何直方圖類型都可以堆疊。"barstacked" 直方圖類型保留其先前的功能以實現向後相容性。
更新的隨附依賴項#
以下隨附 matplotlib 並可選擇與之一起安裝的依賴項已更新:
tripcolor 圖中以面為中心的顏色#
Ian Thomas 擴展了 tripcolor()
,允許為每個三角形面指定一個顏色值,而不是為三角剖分中的每個點指定一個顏色值。

填滿等高線圖中的陰影線圖案,以及圖例#
Phil Elson 為 contourf()
新增了對陰影線的支持,以及使用圖例來識別等高範圍的能力。

matplotlib 1.2 版本中的已知問題#
當將 Qt4Agg 後端與 IPython 0.11 或更高版本一起使用時,儲存對話框將不會顯示。此問題應在 IPython 的未來版本中修復。