Tài liệu chính thức: Matplotlib, pyplot và pylab: chúng liên quan như thế nào?
Cả hai cách nhập đó đều thực hiện chính xác cùng một việc và sẽ chạy cùng một mã chính xác, đó chỉ là các cách nhập mô-đun khác nhau.
Cũng xin lưu ý rằng matplotlib
có hai lớp giao diện, một lớp máy trạng thái được quản lý pyplot
và giao diện OO pyplot
được xây dựng ở trên cùng, hãy xem Làm cách nào để tôi có thể đính kèm một hàm pyplot vào một thể hiện hình?
pylab
là một cách dễ dàng để nhập hàng loạt toàn bộ các chức năng hữu ích ( pyplot
hầu hết là chức năng máy trạng thái numpy
) vào một không gian tên duy nhất. Lý do chính mà điều này tồn tại (theo sự hiểu biết của tôi) là làm việc ipython
để tạo ra một trình bao tương tác rất đẹp, ít nhiều sẽ sao chép MATLAB (để làm cho quá trình chuyển đổi dễ dàng hơn và vì nó rất tốt để chơi xung quanh). Xem pylab.py
vàmatplotlib/pylab.py
Ở một mức độ nào đó, đây hoàn toàn là vấn đề của sở thích và phụ thuộc một chút vào những gì bạn đang làm.
Nếu bạn không nhúng vào một gui (sử dụng chương trình phụ trợ không tương tác cho các tập lệnh hàng loạt hoặc sử dụng một trong các phần mềm phụ trợ tương tác được cung cấp) thì điều điển hình cần làm là
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
mà không làm ô nhiễm không gian tên. Tôi thích điều này hơn để tôi có thể theo dõi những thứ đến từ đâu.
Nếu bạn dùng
ipython --pylab
điều này tương đương với chạy
from pylab import *
Bây giờ chúng tôi khuyến nghị rằng đối với các phiên bản mới của ipython
bạn sử dụng
ipython --matplotlib
điều này sẽ thiết lập tất cả các chi tiết nền thích hợp để làm cho các phụ trợ tương tác hoạt động tốt, nhưng sẽ không nhập hàng loạt bất cứ thứ gì. Bạn sẽ cần phải nhập rõ ràng các mô-đun muốn.
import numpy as np
import matplotlib.pyplot as plt
là một khởi đầu tốt.
Nếu bạn đang nhúng matplotlib
vào một gui, bạn không muốn nhập pyplot vì điều đó sẽ bắt đầu thêm các vòng lặp chính của gui và chính xác những gì bạn nên nhập phụ thuộc vào chính xác những gì bạn đang làm.