我看到,我可以積在 Python的使用既:這是推薦的繪圖方式:matplotlib或pylab?
import matplotlib
matplotlib.pyplot.plot(...)
或者:
import pylab
pylab.plot(...)
這兩個使用相同的matplotlib繪圖代碼。
那麼,Python社區推薦哪一種作爲更好的繪圖方法呢?爲什麼?
我看到,我可以積在 Python的使用既:這是推薦的繪圖方式:matplotlib或pylab?
import matplotlib
matplotlib.pyplot.plot(...)
或者:
import pylab
pylab.plot(...)
這兩個使用相同的matplotlib繪圖代碼。
那麼,Python社區推薦哪一種作爲更好的繪圖方法呢?爲什麼?
官方文檔:Matplotlib, pyplot and pylab: how are they related?
這兩項進口歸結都做同樣的事情,將運行完全相同的代碼,它只是不同的導入模塊的方式。
還要注意的是matplotlib
有兩個界面層,由pyplot
管理的狀態機層和OO接口pyplot
是建立在頂部,看到How can I attach a pyplot function to a figure instance?
pylab
是一個乾淨的方式批量導入整體轉換的有用的功能(pyplot
狀態機功能,大部分爲numpy
)整合到一個名稱空間中。這個存在的主要原因(根據我的理解)是使用ipython
來製作一個非常漂亮的交互式shell,它或多或少地複製了MATLAB(使轉換更容易,因爲它適合玩耍)。見pylab.py
和matplotlib/pylab.py
在一定程度上,這是純粹的口味的問題,並取決於你在做什麼了一下。
如果不嵌入在GUI(使用非交互的後臺批量腳本或使用所提供的交互式後端之一)典型的事情是
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
它沒有按」 t污染名字空間。我更喜歡這個,所以我可以跟蹤東西來自哪裏。
如果使用
ipython --pylab
這相當於跑步
from pylab import *
它現在建議爲ipython
新版本使用
ipython --matplotlib
這將設置所有正確的背景細節使交互式後端能夠很好地工作噸不會批量導入任何東西。您需要明確導入所需的模塊。
import numpy as np
import matplotlib.pyplot as plt
是一個好的開始。
如果你在GUI中嵌入matplotlib
你不想導入pyplot,因爲這會啓動額外的gui主循環,而你應該導入的內容取決於你正在做什麼。
pylab和pyplot的區別在於前者將numpy導入到它的命名空間中。這是爲了使它與matlab更加類似。現在使用pyplot代替pylab是因爲它更清潔。 – ianalis
[pylab和pyplot之間有什麼區別?]可能的重複(http://stackoverflow.com/questions/11469336/what-is-the-difference-between-pylab-and-pyplot) – tacaswell
自引用重複? –