2012-01-20 36 views
14

Tôi có chương trình wxPython đọc từ các tập dữ liệu khác nhau, thực hiện các loại phân tích đơn giản khác nhau trên dữ liệu và vẽ các kết hợp khác nhau của bộ dữ liệu tới matplotlib canvas. Tôi muốn có cơ hội để kết xuất dữ liệu được vẽ hiện tại để gửi cho phân tích phức tạp hơn sau này.Làm thế nào để trích xuất dữ liệu từ lô matplotlib

Câu hỏi đặt ra là: có phương pháp nào trong matplotlib cho phép truy cập vào dữ liệu hiện được vẽ trong matplotlib.Figure không?

Trả lời

19

Jakub là đúng về việc sửa đổi kịch bản Python để viết ra các dữ liệu trực tiếp từ các nguồn mà từ đó nó đã được gửi vào cốt truyện; đó là cách tôi muốn làm điều này. Nhưng để tham khảo, nếu bạn cần để có được dữ liệu ra khỏi một âm mưu, tôi nghĩ rằng điều này sẽ làm điều đó

gca().get_lines()[n].get_xydata() 

Hoặc bạn có thể nhận được x và y dữ liệu bộ riêng:

line = gca().get_lines()[n] 
xd = line.get_xdata() 
yd = line.get_ydata() 
+0

Cảm ơn, tôi nghĩ rằng nên làm điều đó. Nếu bạn muốn biết lý do tại sao tôi thích bán phá giá dữ liệu từ cốt truyện để gây rối với các nguồn dữ liệu, vui lòng xem nhận xét của tôi về @Jacub. –

+0

Tại sao một đối tượng 'mpl_toolkits.mplot3d.art3d.Line3D' có' get_zdata() '? Tôi không thể trích xuất các giá trị z. :-( –

+0

@SibbsGambling Điều đó bạn sẽ phải mất đến với các nhà phát triển của matplotlib. –

1

của Python, vì vậy bạn có thể chỉnh sửa kịch bản nguồn trực tiếp để dữ liệu được đổ trước khi nó được vẽ

+3

Tôi biết đó là theo cách pythonic nhất :) Nhưng trước tiên, dữ liệu được gửi đến lô từ nhiều nơi và được sửa đổi trong khi trên cốt truyện; Tôi sẽ cần phải theo dõi mọi sửa đổi của dữ liệu được vẽ. Và thứ hai - tôi không cần phải đổ dữ liệu * mỗi lần * nó được vẽ. Tôi muốn đầu tiên tìm một cái gì đó thú vị và sau đó nhấn một nút trên NavigationToolbar để xuất nó vào tập tin. NavigationToolbar được liên kết với FigureCanvas, do đó các nút có quyền truy cập liền mạch vào các thuộc tính và phương thức Hình. Đó là lý do tại sao tôi hỏi làm thế nào để đổ dữ liệu từ cốt truyện. –

+2

Điều này sẽ chỉ hoạt động nếu người dùng biết trước rằng họ muốn xuất dữ liệu và dữ liệu tĩnh. Hiếm tôi sẽ nói. – Schollii

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