Saya melihat bahwa saya dapat memplot dengan Python menggunakan:
import matplotlib
matplotlib.pyplot.plot(...)
Atau:
import pylab
pylab.plot(...)
Keduanya menggunakan kode plot matplotlib yang sama .
Jadi, manakah dari berikut ini yang saat ini direkomendasikan oleh para pengembang / dokumen Matplotlib sebagai metode plot yang lebih baik? Mengapa?
python
matplotlib
Ashwin Nanjappa
sumber
sumber
matplotlib.pyplot
Jawaban:
Dokumen resmi: Matplotlib, pyplot dan pylab: apa hubungannya?
Kedua impor tersebut bermuara pada melakukan hal yang persis sama dan akan menjalankan kode yang sama persis, itu hanya cara yang berbeda untuk mengimpor modul.
Perhatikan juga bahwa
matplotlib
memiliki dua lapisan antarmuka, lapisan mesin-negara yang dikelola olehpyplot
dan antarmuka OOpyplot
dibangun di atasnya, lihat Bagaimana cara melampirkan fungsi pyplot ke instance gambar?pylab
adalah cara bersih untuk mengimpor secara massal seluruh fungsi yang berguna (pyplot
sebagian besar fungsi mesin negaranumpy
) ke dalam satu ruang nama. Alasan utama ini ada (menurut pemahaman saya) adalah untuk bekerja denganipython
membuat shell interaktif yang sangat bagus yang kurang lebih mereplikasi MATLAB (untuk membuat transisi lebih mudah dan karena bagus untuk bermain-main). Lihatpylab.py
danmatplotlib/pylab.py
Pada tingkat tertentu, ini murni masalah selera dan sedikit bergantung pada apa yang Anda lakukan.
Jika Anda tidak menyematkan di gui (baik menggunakan backend non-interaktif untuk skrip massal atau menggunakan salah satu backend interaktif yang disediakan), hal yang biasa dilakukan adalah
import matplotlib.pyplot as plt import numpy as np plt.plot(....)
yang tidak mencemari ruang nama. Saya lebih suka ini sehingga saya dapat melacak dari mana barang itu berasal.
Jika Anda menggunakan
ini sama dengan berlari
from pylab import *
Sekarang disarankan untuk versi baru
ipython
Anda gunakanyang akan mengatur semua detail latar belakang yang tepat untuk membuat backend interaktif berfungsi dengan baik, tetapi tidak akan mengimpor apa pun secara massal. Anda perlu mengimpor modul yang diinginkan secara eksplisit.
import numpy as np import matplotlib.pyplot as plt
adalah awal yang baik.
Jika Anda menyematkan
matplotlib
di gui, Anda tidak ingin mengimpor pyplot karena hal itu akan memulai loop utama gui tambahan, dan apa yang harus Anda impor bergantung pada apa yang Anda lakukan.sumber
Dokumentasi di https://matplotlib.org/faq/usage_faq.html#matplotlib-pyplot-and-pylab-how-are-they-related , yang juga menjelaskan perbedaan antara pyglot dan pylab, menyatakan: "Meskipun banyak contoh menggunakan pylab, tidak lagi direkomendasikan. " . Jadi, saya tidak melihat alasan untuk menggunakan pylab atau khawatir tentang itu.
sumber