सुन्न, पपड़ी, matplotlib और पाइलैब के बीच भ्रम


132

Numpy, scipy, matplotlib, और pylab उनके बीच सामान्य शब्द हैं जो वैज्ञानिक गणना के लिए अजगर का उपयोग करते हैं।

मैं बस पाइलैब के बारे में थोड़ा सीखता हूं, और मैं भ्रमित हो गया। जब भी मैं सुन्न आयात करना चाहता हूं, मैं हमेशा कर सकता हूं:

import numpy as np

मैं बस विचार करता हूं, कि एक बार मैं करूं

from pylab import *

सुन्न ( npउर्फ के साथ ) आयात किया जाएगा । इसलिए मूल रूप से दूसरा वाला पहले वाले की तुलना में अधिक चीजें करता है।

कुछ चीजें हैं जो मैं पूछना चाहता हूं:

  1. क्या यह सही है कि पाइलब सुन्न, टेढ़ा और मैटलोट्लिब के लिए सिर्फ एक आवरण है?
  2. जैसा कि pylab में np खस्ता उर्फ ​​है, क्या pylab में डरपोक और matplotlib उर्फ ​​है? (जहां तक ​​मुझे पता है, plt matplotlib.pyplot का उपनाम है, लेकिन मैं खुद matplotlib के लिए उपनाम नहीं जानता)

4
आम तौर पर स्टाइल नोट पर, मैं इंटरैक्टिव शेल के बाहर पाइलैब (और * आयात) के उपयोग से बचूंगा। पाइलैब मेटप्लॉटलिब वैसे भी एक विषम परिशिष्ट का एक सा है।
seberg

@unutbu: लिंक के लिए धन्यवाद, जो चीजों को स्पष्ट करता है। मुझे लगता है कि इसका मतलब यह भी है कि डरपोक एक पूरी तरह से अलग मॉड्यूल है, और इस तरह
पाइलैब से

4
@goFrendiAsgard: आप वास्तव में निरीक्षण कर सकते हैं कि पाइलैब आयात क्या देख रहा है /usr/lib/pymodules/python2.7/matplotlib/pylab.py(सटीक पथ विंडोज या OSX के लिए थोड़ा अलग है; पूछें कि क्या आपको इसे खोजने में सहायता की आवश्यकता है।)
unutbu

धन्यवाद, यही मैं तलाश करता हूं। मुझे लगता है कि मैं और अधिक "पायथोनिक" तरीके का उपयोग करूंगा क्योंकि पायलैब उनके लिए सिर्फ एक आवरण है जो मैटलैब के लिए उपयोग किया जाता है।
goFrendiAsgard

जवाबों:


129
  1. नहीं, (इन ) pylabका हिस्सा है और आपको पर्यावरण की तरह एक मैटलैब देने की कोशिश करता है। उनके बीच कई प्रकार की निर्भरताएं हैं, जिनका वे सामान्य रूप से आयात करते हैं । की निर्भरता नहीं है ।matplotlibmatplotlib.pylabmatplotlibnumpynpscipymatplotlib

  2. यदि आप ipython --pylabएक स्वचालित आयात चलाते हैं , तो सभी प्रतीकों matplotlib.pylabको वैश्विक दायरे में रखा जाएगा । जैसे आपने लिखा numpyहै कि npउर्फ के तहत आयात किया जाता है । से प्रतीक आलिया के matplotlibतहत उपलब्ध हैं mpl


9
@Benjamin Bannier यह क्या है - wiki.scipy.org/PyLab ? यह मुझे भ्रमित करता है।
शहंशाह

@ शहंशाह, ऐसा लगता है जैसे दो प्यारेबल्स हैं; आपके द्वारा भेजे गए लिंक के अनुसार: "... इस पृष्ठ पर व्यक्त किए गए एक नए PyLab के लिए दृष्टि के बीच का अंतर , और मौजूदा pylab पैकेज जो matplotlib का हिस्सा है "
लाल मटर

15

डरपोक और सुन्न वैज्ञानिक परियोजनाएं हैं जिनका उद्देश्य अजगर के लिए कुशल और तेजी से संख्यात्मक कंप्यूटिंग लाना है।

मेट्लोटलिब अजगर की साजिश रचने वाली लाइब्रेरी का नाम है।

पिपलोट मैटप्लोटिब के लिए एक इंटरैक्टिव एपी है, जो ज्यादातर ज्यूपिटर जैसे नोटबुक में उपयोग के लिए है। आप आम तौर पर इसे इस तरह उपयोग करते हैं import matplotlib.pyplot as plt:।

पाइलब पाइलपॉट जैसी ही चीज है, लेकिन अतिरिक्त सुविधाओं के साथ (इसका उपयोग वर्तमान में हतोत्साहित किया जाता है)।

  • pylab = pyplot + numpy

अधिक जानकारी यहाँ देखें: Matplotlib, Pylab, Pyplot, आदि: इनमें से क्या अंतर है और प्रत्येक का उपयोग कब करना है?


2
एक अन्य उदाहरण सीधे matplotlib के साइट पर पोस्ट किया : "वे कैसे संबंधित हैं matplotlib, pyplot और pylab Matplotlibहै पूरे पैकेज ; matplotlib.pyplotएक मॉड्यूल है matplotlib में और; pylabएक मॉड्यूल स्थापित हो जाता है matplotlib के साथ। "
लाल मटर

3

चूंकि कुछ लोग (मेरे जैसे) अभी भी पाइलैब के उपयोग के बारे में भ्रमित हो सकते हैं क्योंकि उपयोग करने वाले उदाहरण pylabइंटरनेट पर हैं, यहां आधिकारिक matplotlib से एक उद्धरण दिया गया है:

pylab एक सुविधा मॉड्यूल है जो बल्क इंपोर्ट करता है matplotlib.pyplot (प्लॉटिंग के लिए) और numpy (गणित के लिए और सरणियों के साथ काम करने के लिए) एक ही नाम स्पेस में। हालांकि कई उदाहरण पाइलैब का उपयोग करते हैं, यह अब अनुशंसित नहीं है।

तो, टीएल; डीआर; pylab, अवधि का उपयोग नहीं है। आवश्यकतानुसार उपयोग pyplotऔर आयात numpyअलग से।

यहाँ आगे पढ़ने और अन्य उपयोगी उदाहरणों के लिए लिंक दिया गया है


1
हाल ही में खोला गया पाइलैब, जो मैंने देखा था, जल्दी से आतंक में वापस आ गया। यह कैसे सामान्य रूप से स्वीकार किया गया था?
इरिक

हां, कौन जानता है।
jamescampbell
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.