2013-02-26 27 views
7

Điều ngăn cản tôi chuyển sang cloud9 là thiếu sự hỗ trợ cho matplotlib vì việc vẽ đồ thị mọi thứ rất quan trọng đối với công việc của tôi.Hỗ trợ cho cloud9 ide và matplotlib hoặc công cụ đồ họa khác cho python?

Tôi đã thử cài đặt matplotlib nhưng có vẻ như có một số vấn đề với pygtk mặc dù có vẻ như nó đã được cài đặt. Thậm chí có thể cho một ide trực tuyến tương tác với cửa sổ gtk trên máy tính cục bộ của tôi không? Có lẽ các đồ thị có thể được tạo từ xa và được lưu vào thư mục của tôi?

Sẽ thật tuyệt nếu có ai quản lý thành công việc này có thể chỉ cho tôi cách thực hiện?

+0

Tôi sẽ xem phần phụ trợ 'webagg' cho matplotlib. Nó đang được phát triển để chơi tốt đẹp với máy tính xách tay 'ipython'. Để trang web tiếp cận và kiểm soát mức cửa sổ có vẻ giống như một vấn đề bảo mật lớn đối với tôi. – tacaswell

Trả lời

5

Bạn có thể thay đổi backend với

import matplotlib 
matplotlib.use('Agg') 

và sau đó lưu hình sử dụng figure.savefig('filename')

+0

Trên python Cloud9: 'matplotlib.use ('Agg')' rồi 'nhập matplotlib.pyplot thành plt' rồi kết quả' fig, ax = plt.subplots (1,1) 'trong TclError: không có tên hiển thị và không có $ DISPLAY biến môi trường –

+0

Ah: 'use()' phải được gọi trước khi nhập 'pyplot'. –

3

Như đã nêu bởi David Adler, bạn có thể thiết lập một tổ chức phi GUI backend:

import matplotlib 
matplotlib.use('Agg') 
import matplotlib.pyplot as plt # Do not do this prior to calling use() 

Bạn có thể tạo hình theo cách thông thường, ngoại trừ lưu hình:

fig, ax = plt.subplots(1, 1) 
ax.hist(numpy.random.randn(1000)) 
fig.savefig('display.svg') # Any filename will do 

Trong Cloud9, bạn có thể mở SVG trong tab xem trước. Mỗi lần bạn cập nhật và lưu hình, hãy làm mới tab xem trước.

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