2012-03-04 72 views
18

thể trùng lặp:
matplotlib does not show my drawings although I call pyplot.show()Tại sao pyplot.show() không hoạt động?

Tôi là một newbie để Matplotlib và đã gặp phải vấn đề này. Tôi đang sử dụng một hệ thống Ubuntu. Tôi bắt đầu với Matplotlib 0,99 và nhận ra rằng tôi thực sự cần tính năng mới của "triplot" trong các phiên bản mới hơn. Vì vậy, tôi đã tải xuống phiên bản mới nhất của

git clone git://github.com/matplotlib/matplotlib.git 

và cài đặt nó. Tuy nhiên, khi tôi làm việc với python tương tác, pyplot.show() không hiển thị cho tôi hình vẽ của tôi, cũng như không trả lời với bất kỳ thông báo lỗi nào. pyplot.show() đã hoạt động trong phiên bản cũ của matplotlib 0,99.

Để cụ thể hơn, tôi dường như không gặp sự cố khi nhập "matplotlib" hoặc mô-đun bên trong gói; Tôi có thể tạo ra các tập tin pdf của một loạt các con số, nhưng tôi chỉ có thể không có con số hiển thị bằng cách gõ pyplot.show() vào cuối mã của tôi. Ai giúp tôi với? Cảm ơn bạn!

+0

câu hỏi có lẽ tương tự như thế này: http://stackoverflow.com/questions/7534453/matplotlib-does-not-show-my-drawings-although-i-call-pyplot -show –

+0

Bạn đang chạy chương trình của mình như thế nào? Nếu bạn đang ở trong trình thông dịch python tương tác chuẩn, 'show' sẽ không hoạt động vì nó cần chạy trong một chuỗi riêng biệt và trình thông dịch tương tác sẽ chặn nó. 'ipython' và các hệ vỏ tương tác nâng cao khác xung quanh một phần vì lý do này. (Và chúng có một _ton_ các tính năng hữu ích mà trình thông dịch tương tác chuẩn không có.) –

+0

Nếu không, có thể bạn không có phiên bản phát triển của 'Tk' hoặc bất kỳ thư viện gui nào khác được cài đặt, và vì vậy' matplotlib' không thể xây dựng chương trình phụ trợ tương tác mặc định. –

Trả lời

14

tôi đã cùng một vấn đề và giải quyết nó bằng cách thiết lập phụ trợ hiển thị thích hợp, sau matplotlib does not show my drawings although I call pyplot.show()

Có hai cách để đạt được điều này:

1.Set các backend trong mã của bạn, ngay sau khi nhập khẩu matplotlib :

import matplotlib 
matplotlib.rcParams['backend'] = "Qt4Agg" 

2.Or xác định phụ trợ của bạn bên trong tập tin matplotlibrc của bạn (như được đưa ra bởi matplotlib.matplotlib_fname()):

backend  : Qt4Agg 

biết thêm thông tin ở đây: http://matplotlib.sourceforge.net/users/customizing.html

+0

Bạn đã tiết kiệm cho tôi nhiều thời gian, cảm ơn bạn. – Arty

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