2012-03-02 36 views
9

मैंने ग्राफ प्राप्त करने के लिए matplotlib लाइब्रेरी का उपयोग करना शुरू किया। लेकिन जब मैं "प्लॉट (एक्स, वाई)" का उपयोग करता हूं तो यह मुझे वापस देता है कि "प्लॉट परिभाषित नहीं किया गया है"।प्लॉट परिभाषित नहीं किया गया है

from matplotlib import *

किसी भी सुझाव:

आयात करने के लिए, मैं निम्न आदेश का इस्तेमाल किया?

उत्तर

22

बदलें कि करने के लिए

from matplotlib.pyplot import * 

ध्यान दें कि आयात (from X import *) की इस शैली आम तौर पर हतोत्साहित किया जाता है आयात करते हैं। मैं का उपयोग कर की सिफारिश करेंगे निम्नलिखित बजाय:

import matplotlib.pyplot as plt 
plt.plot([1,2,3,4]) 
11

आप एक समारोह एक पैकेज या अजगर में मॉड्यूल आप आयात और उन्हें संदर्भ के लिए है के रूप में उपयोग करना चाहते हैं। उदाहरण के लिए आम तौर पर आप अंतरिक्ष में 5 अंक ([1,5], [2,4], [3,3], [4,2], [5,1]) खींचने के लिए निम्नलिखित करते हैं:

import matplotlib.pyplot 
matplotlib.pyplot.plot([1,2,3,4,5],[5,4,3,2,1],"bx") 
matplotlib.pyplot.show() 

अपने समाधान में

from matplotlib import* 

इस पैकेज matplotlib आयात करता है और "साजिश से परिभाषित नहीं है" matplotlib में कोई साजिश समारोह आप सीधे उपयोग कर सकते हैं नहीं है इसका मतलब है, लेकिन इसके बजाय यदि आप

from matplotlib.pyplot import * 
plot([1,2,3,4,5],[5,4,3,2,1],"bx") 
show() 
के रूप में आयात

अब आप matp में किसी भी फ़ंक्शन का उपयोग कर सकते हैं matlotlib.pyplot के साथ उन्हें संदर्भित किए बिना lotlib.pyplot।

मैं आपको आपके आयात के नाम देने की सलाह दूंगा, इस मामले में आप समान कार्य नामों के साथ असंबद्धता और भविष्य की समस्याओं को रोक सकते हैं। उपर्युक्त उदाहरण का अंतिम और साफ संस्करण इस तरह दिखता है:

import matplotlib.pyplot as plt 
plt.plot([1,2,3,4,5],[5,4,3,2,1],"bx") 
plt.show() 
संबंधित मुद्दे