เอกสารทางการ: Matplotlib, pyplot และ pylab: เกี่ยวข้องกันอย่างไร
การนำเข้าทั้งสองอย่างนั้นเดือดลงทำสิ่งเดียวกันทุกประการและจะเรียกใช้รหัสเดียวกันทุกประการมันเป็นเพียงวิธีการนำเข้าโมดูลที่แตกต่างกัน
โปรดทราบว่าmatplotlib
มีเลเยอร์อินเทอร์เฟซสองชั้นเลเยอร์สถานะเครื่องที่จัดการโดยpyplot
และอินเทอร์เฟซ OO pyplot
ถูกสร้างขึ้นที่ด้านบนโปรดดูที่ฉันจะแนบฟังก์ชัน pyplot กับอินสแตนซ์รูปได้อย่างไร
pylab
เป็นวิธีที่สะอาดในการนำเข้าฟังก์ชันที่เป็นประโยชน์จำนวนมาก (ฟังก์ชันpyplot
state machine ส่วนใหญ่numpy
) ลงในช่องชื่อเดียว เหตุผลหลักที่มีอยู่ (ตามความเข้าใจของฉัน) คือการทำงานร่วมกับipython
การสร้างเชลล์แบบโต้ตอบที่ดีมากซึ่งจำลอง MATLAB มากขึ้นหรือน้อยลง (เพื่อให้การเปลี่ยนแปลงง่ายขึ้นและเป็นเรื่องที่ดีสำหรับการเล่นรอบ) ดูpylab.py
และmatplotlib/pylab.py
ในบางระดับนี่เป็นเรื่องของรสนิยมล้วนๆและขึ้นอยู่กับสิ่งที่คุณกำลังทำ
หากคุณไม่ได้ฝังไว้ใน gui (ไม่ว่าจะใช้แบ็กเอนด์ที่ไม่ใช่แบบโต้ตอบสำหรับสคริปต์จำนวนมากหรือใช้แบ็กเอนด์แบบโต้ตอบที่มีให้) สิ่งที่ต้องทำโดยทั่วไปคือ
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
ซึ่งไม่ก่อให้เกิดมลพิษต่อพื้นที่ชื่อ ฉันชอบสิ่งนี้เพื่อที่ฉันจะได้ติดตามว่าของมาจากไหน
ถ้าคุณใช้
ipython --pylab
สิ่งนี้เทียบเท่ากับการวิ่ง
from pylab import *
ตอนนี้ขอแนะนำให้ipython
คุณใช้เวอร์ชันใหม่
ipython --matplotlib
ซึ่งจะตั้งค่ารายละเอียดพื้นหลังที่เหมาะสมทั้งหมดเพื่อให้แบ็กเอนด์แบบโต้ตอบทำงานได้ดี แต่จะไม่นำเข้าอะไรจำนวนมาก คุณจะต้องนำเข้าโมดูลที่ต้องการอย่างชัดเจน
import numpy as np
import matplotlib.pyplot as plt
เป็นการเริ่มต้นที่ดี
หากคุณฝังmatplotlib
ใน gui คุณไม่ต้องการนำเข้า pyplot เนื่องจากจะเริ่มลูปหลัก gui พิเศษและสิ่งที่คุณควรนำเข้านั้นขึ้นอยู่กับสิ่งที่คุณกำลังทำ