2013-04-19 44 views
9

Tôi đã xem các bài đăng khác ở đây về chủ đề này và không tìm thấy câu trả lời rõ ràng, mặc dù tôi chắc chắn rằng nó đơn giản.AttributeError: đối tượng 'module' không có thuộc tính

Mã của tôi có cấu trúc sau ...

import matplotlib 
... 
... 

class xyz: 
    def function_A(self,...) 
     ... 
     ... 
     fig1 = matplotlib.figure() 
     ... 
     ... 

tôi kêu gọi 'function_A' từ một thể hiện của 'xyz' và khi tôi làm tôi nhận được thông báo lỗi:

AttributeError: 'module' object has no attribute 'figure' 

Dựa trên các bài viết tôi đã đọc nó có vẻ như một vấn đề với cách tôi đang nhập matplotlib, nhưng tôi không thể sắp xếp nó ra. Tôi đã thử nhập nó trong định nghĩa Function_A (tôi nghĩ rằng đó là hình thức xấu nhưng tôi muốn thử nghiệm nó), nhưng tôi vẫn là lỗi tương tự.

Tôi đã sử dụng mã 'function_A' của mình ở nơi khác không có vấn đề gì, nhưng nó chỉ là một hàm trong một mô-đun chứ không phải là một phương thức trong một lớp.

Mọi trợ giúp đều được đánh giá cao!

Trả lời

15

Tôi nghĩ bạn nói đúng và đó là sự cố nhập. Các module matplotlib không một hàm figure:

>>> import matplotlib 
>>> matplotlib.figure 
Traceback (most recent call last): 
    File "<ipython-input-130-82eb15b3daba>", line 1, in <module> 
    matplotlib.figure 
AttributeError: 'module' object has no attribute 'figure' 

Chức năng con số nằm sâu hơn. Có một vài cách để kéo nó vào, nhưng việc nhập khẩu thông thường trông giống như:

>>> import matplotlib.pyplot as plt 
>>> plt.figure 
<function figure at 0xb2041ec> 

Nó có thể là một ý tưởng tốt để dính vào tùy chỉnh này, bởi vì nó được sử dụng bởi hầu hết các ví dụ bạn sẽ tìm thấy trên các Web, chẳng hạn như trong số matplotlib gallery. (Thư viện vẫn là nơi đầu tiên tôi đến khi tôi cần tìm ra cách để làm điều gì đó: Tôi tìm thấy một hình ảnh giống như những gì tôi muốn, và sau đó nhìn vào mã.)

+4

Chúa Giêsu Kitô, tôi ' m một thằng ngốc. Mã khác của tôi nhập chính xác mô-đun. Cảm ơn đã giúp đỡ. – gearhead

Các vấn đề liên quan