Matplotlib 3.2 的新功能(2020 年 3 月 4 日)#

如需自上次修訂以來的所有問題和提取請求的清單,請參閱 3.10.0 版的 GitHub 統計資料(2024 年 12 月 13 日)

單位轉換器可辨識子類別#

單位轉換器現在也處理已註冊的類別之子類別的實例。

imsave 接受中繼資料和 PIL 選項#

imsave 已新增對 metadatapil_kwargs 參數的支援。這些參數的行為與 Figure.savefig() 方法類似。

cbook.normalize_kwargs#

cbook.normalize_kwargs 現在提供一個方便的介面來正規化藝術家屬性(例如,從 "lw" 到 "linewidth")

>>> cbook.normalize_kwargs({"lw": 1}, Line2D)
{"linewidth": 1}

第一個引數是要正規化的映射,第二個引數可以是藝術家類別或藝術家實例(它也可以是特定格式的映射;請參閱函式的文件字串以取得詳細資訊)。

FontProperties 接受 os.PathLike#

FontPropertiesfname 引數現在可以是 os.PathLike,例如:

>>> FontProperties(fname=pathlib.Path("/path/to/font.ttf"))

PDF 後端的 Gouraud 著色 alpha 通道#

pdf 後端現在支援 Gouraud 著色三角形網格中的 alpha 通道。

字距調整現在使用正確的值#

由於在調整字距微調(kerning)時出現錯誤,先前版本的 Matplotlib 會過度修正字距。此版本現在將正確地應用字距微調(對於 FreeType 支援的字體)。若要恢復舊的行為(例如,針對測試影像),您可以將 rcParams["text.kerning_factor"](預設值:0)設定為 6(而不是 0)。其他值則具有未定義的行為。

(原始碼, 2x.png, png)

請注意,字元之間的間距在其邊界框(上方)之間是均勻的。經過修正的字距微調(下方)後,傾斜的字元(例如,AV 或 VA)以及其他各種字元對,將會靠得更近,具體取決於字體支援(例如,T 和 e,或 W 後面的句號)。

(原始碼, 2x.png, png)

bar3d 光源陰影#

shade 參數為 True 時,bar3d() 現在支援來自不同角度的光照,可以使用 lightsource 參數進行配置。

移動誤差線#

先前,errorbar() 接受關鍵字參數 errorevery,因此指令 plt.errorbar(x, y, yerr, errorevery=6) 會將誤差線新增到資料點 x[::6], y[::6]

errorbar() 現在也接受 errorevery 的元組,因此 plt.errorbar(x, y, yerr, errorevery=(start, N)) 會將誤差線新增到點 x[start::N], y[start::N]

對數機率刻度刻度器和格式器中的改進#

在 1.5 版本中引入的對數機率刻度沒有適當的刻度器和格式器。先前,刻度的位置不依賴於縮放,顯示的標籤太多導致重疊,破壞了可讀性,並且標籤格式沒有適應精確度。

從這個版本開始,對數機率定位器具有與對數刻度或線性刻度的定位器幾乎相同的行為,具體取決於使用的縮放。刻度的數量受到控制。一些次要標籤以對數刻度中的子標籤形式適應性地顯示。格式設定適用於機率,並且精確度會適應刻度。

用於軸標題位置和顏色的 rcParams#

新增了兩個新的 rcParams:rcParams["axes.titlelocation"](預設值:'center')表示預設的軸標題對齊方式,而 rcParams["axes.titlecolor"](預設值:'auto')則表示預設的軸標題顏色。

axes.titlelocation 的有效值為:left、center 和 right。axes.titlecolor 的有效值為:auto 或顏色。將其設定為 auto 將會回退到先前的行為,即使用 text.color 中的顏色。

3 位數和 4 位數十六進位顏色#

現在可以使用 3 位數或 4 位數的十六進位顏色來指定顏色,這是透過複製每個字元獲得的顏色的簡寫,例如 #123 等效於 #112233,而 #123a 等效於 #112233aa

在 pcolorfast 中新增了對 RGB(A) 影像的支援#

Axes.pcolorfast 現在接受 3D 影像(RGB 或 RGBA)陣列。