matplotlib 的預設後端是什麼?

matplotlib 的預設後端是什麼?

我決定設定一個自定義matplotlibrc,因此我需要為matplotlib.就不需要安裝其他附加軟體包而言,最好的是什麼?

我傾向於使用matplotlibvia ipython --pylab,所以我想要基於互動視窗的繪圖(當我不這樣做時,我可以切換到Agg)。

我已經嘗試過WXAgg,但這需要(足夠明智的)WX。

答案1

兩者都不Agg需要TkAgg任何超出 Python 標準函式庫的依賴項。

TkAgg我在多線程方面遇到了一些問題,因此如果您只需要保存到文件(而不是plt.show()),我建議使用Agg它(只需將其替換為TkAgg下面出現的位置)。

將以下行新增至您的~/.config/matplotlib/matplotlibrc

backend: TkAgg

或將以下行新增至您的 python 檔案:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

答案2

import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0,1,100)
y = np.sin(x)

plt.plot(x,y)
plt.show()

據我所知,PyQt5 是 Matplotlib 最好的後端。即使在運行程式之後,它也允許進行所有編輯。要使用它,

import matplotlib
matplotlib.use('Qt5Agg')

打電話前先放這個

import matplotlib.pyplot as plt

注意你需要安裝 PyQt5

透過 pip 安裝,運行命令

pip install PyQt5

答案3

我更喜歡使用 matplotlib 進行內聯繪圖,而不是在單獨的視窗中繪圖,因為當我微調 Python 程式碼時,它可以更輕鬆地看到我在做什麼。

為科學家提供的 Python IDE (間諜) 可以進行內嵌繪圖。若要嘗試此功能,請開啟終端機並輸入:

sudo apt install python2.7 python-matplotlib spyder ipython # Python 2.x in Ubuntu 18.04 and earlier 

或者

sudo apt install python3 python3-matplotlib spyder3 ipython3 # Python 3.x  

在 IPython 控制台中出現 ipython 提示後,複製/貼上以下程式碼,然後Enter按鍵執行它。

import matplotlib.pyplot as plt   
x, y = [-1, 12], [1, 4]  
plt.plot(x, y, marker = 'o')  

在此輸入影像描述

安裝了 Atom Hydrogen 套件的 Atom 文字編輯器也可以進行內嵌繪圖。我發現 Atom 介面的配置比 Spyder 更複雜,Spyder 中使用 matplotlib 進行內嵌繪圖是開箱即用的。我開始在 Atom 中進行內嵌繪圖,因為我也想使用 Atom 與其他程式語言一起製作內嵌繪圖。

相關內容