Çizim yapmak için önerilen yol hangisidir: matplotlib veya pylab? [kapalı]


88

Ben görüyoruz çizmek içinde Python kullanarak:

import matplotlib
matplotlib.pyplot.plot(...)

Veya:

import pylab
pylab.plot(...)

Bunların her ikisi de aynı matplotlib çizim kodunu kullanır.

Öyleyse, Matplotlib geliştiricileri / dokümanları şu anda bunlardan hangisini planlamak için daha iyi bir yöntem olarak öneriyor? Neden?



9
Kendinden referanslı çoğaltma?
Mad Fizikçi

4
Bu görüşe dayalı olarak kapatılmamalıdır. Matplotlib belgelerinden şimdi net bir cevap var: Her zaman kullanmatplotlib.pyplot
Bernhard

Yanıtlar:


104

Resmi dokümanlar: Matplotlib, pyplot ve pylab: birbirleriyle nasıl bağlantılılar?

Her iki içe aktarım da tamamen aynı şeyi yapar ve aynı kodu çalıştırır, bu sadece modülleri içe aktarmanın farklı yollarıdır.

Ayrıca matplotlib, iki arayüz katmanına sahip olduğunu, bir durum-makine katmanı tarafından yönetildiğini pyplotve OO arayüzünün pyplotüzerine kurulduğunu unutmayın, bkz . Bir şekil örneğine bir pyplot işlevini nasıl ekleyebilirim?

pylabbir yığın yararlı işlevi ( pyplotçoğu durum makinesi işlevi numpy) tek bir ad alanına toplu olarak aktarmanın temiz bir yoludur . Bunun var olmasının ana nedeni (anladığım kadarıyla), ipythonMATLAB'ı az çok kopyalayan çok güzel bir etkileşimli kabuk yapmaktır (geçişi kolaylaştırmak ve etrafta oynamak için iyidir). Gör pylab.pyvematplotlib/pylab.py

Bir düzeyde, bu tamamen bir zevk meselesidir ve biraz da ne yaptığınıza bağlıdır.

Eğer varsa değil yapmanın tipik olanı (ya toplu komut dosyaları için bir interaktif olmayan arka plan sistemini kullanarak veya verilen interaktif backends birini kullanarak) bir Arabirimdeki gömme

import matplotlib.pyplot as plt
import numpy as np

plt.plot(....)

bu isim alanını kirletmez. Bunu tercih ediyorum, böylece eşyaların nereden geldiğini takip edebiliyorum.

Eğer kullanırsan

ipython --pylab

bu koşmaya eşdeğerdir

from pylab import * 

Artık yeni sürümler için ipythonkullanmanız tavsiye edilmektedir.

ipython --matplotlib

bu, etkileşimli arka uçların güzel çalışması için tüm uygun arka plan ayrıntılarını ayarlayacak, ancak hiçbir şeyi toplu olarak içe aktarmayacaktır. İstediğiniz modülleri açıkça içe aktarmanız gerekecektir.

import numpy as np
import matplotlib.pyplot as plt

iyi bir başlangıç.

Bir matplotlibGUI'ye gömüyorsanız, fazladan gui ana döngüleri başlatacağından, pyplot'u içe aktarmak istemezsiniz ve tam olarak ne almanız gerektiği tam olarak ne yaptığınıza bağlıdır.


20
Pylab ve pyplot arasındaki fark, öncekinin numpy'yi ad alanına aktarmasıdır. Bu, matlab ile daha benzer davranmasını sağlamaktı. Pylab yerine pyplot kullanılması artık daha temiz olduğu için tercih edilmektedir.
Christian Alis

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.