2009-11-02 14 views
11

Tôi thường xuyên tạo các số liệu (kiểu phân tích dữ liệu thăm dò) trong R. Tôi cũng lập trình bằng Python và đã tự hỏi liệu có các tính năng hay khái niệm trong matplotlib có đáng để học hay không. Ví dụ, tôi khá hài lòng với R - nhưng chức năng image() của nó sẽ tạo ra các tệp lớn với đầu ra pixelated, trong khi con số tương đương của Matlab (tôi cũng lập trình thường xuyên trong Matlab) dường như có thể quản lý được ở kích thước tệp và cũng 'làm mịn' matplotlib cũng cung cấp giảm như vậy ...? Nhưng nói chung, tôi tự hỏi những lợi ích khác mà matplotlib có thể trao đổi. Tôi không có ý đây là một câu hỏi trolling. Cảm ơn.matplotlib cho người dùng R?

+1

hãy xem câu hỏi tương tự này: http://stackoverflow.com/questions/1177019/what-can-be-done-in-r-that-cant-be-done-with-python-numpy-scipy – dalloliogm

+1

Tôi nhận ra rằng đây là một câu hỏi cũ, nhưng đối với khách truy cập mới: Chỉ cần sử dụng [ggplot2] (http://ggplot2.org/). Nó có một đường cong học tập dốc, nhưng [tuyệt vời tài liệu] (http://docs.ggplot2.org/current/), và sản xuất tốt hơn lô hơn matplotlib theo mặc định. – naught101

Trả lời

11

Đây là câu hỏi khó giải đáp.

Gần đây tôi đã chuyển một số khối lượng công việc vẽ đồ thị của mình từ R thành matplotlib. Theo quan điểm khiêm tốn của tôi, tôi thấy đồ thị của matplotlib trở nên đẹp hơn (màu sắc mặc định tốt hơn, trông chúng sắc nét và hiện đại hơn). Tôi cũng nghĩ rằng matplotlib ám PNG tốt hơn rất nhiều.

Động lực thực sự đối với tôi là tôi muốn làm việc với dữ liệu cơ bản của mình bằng Python (và numpy) chứ không phải R. Tôi nghĩ đây là câu hỏi lớn, bạn muốn tải ngôn ngữ nào, phân tích cú pháp và thao tác dữ liệu của bạn?

Mặt khác, tiền thưởng cho R là mặc định âm mưu chỉ hoạt động (có chức năng cho mọi thứ). Tôi thấy mình thường xuyên đào bới thông qua các tài liệu matplotlib (họ dày) tìm kiếm một số cách mơ hồ để điều chỉnh một biên giới hoặc tăng độ dày đường. R thói quen âm mưu có một số trưởng thành phía sau họ.

+0

Cảm ơn những suy nghĩ của bạn ... Tôi làm âm mưu trong Matlab vì vậy tôi nghĩ rằng nó có thể là một quá trình chuyển đổi dễ dàng, nhưng tôi có thể tạo ra hầu hết đồ họa tôi có thể tưởng tượng trong R (đặc biệt là với đồ họa lưới). matplotlib - Tôi quên có các chi tiết tùy biến để học trong mọi gói và đó sẽ là thời gian không mong muốn trong thời điểm này ... – hatmatrix

3

Tôi nghĩ rằng lợi thế lớn nhất là matplotlib dựa trên Python, mà bạn nói bạn đã biết. Vì vậy, đây là một ngôn ngữ ít để tìm hiểu. Chỉ cần dành thời gian làm chủ Python, và bạn sẽ được hưởng lợi cả trực tiếp cho nhiệm vụ vẽ sơ đồ trong tay và gián tiếp cho các nhu cầu Python khác của bạn.

Bên cạnh đó, IMHO Python là ngôn ngữ phong phú hơn R, với nhiều thư viện hơn có thể trợ giúp cho nhiều tác vụ khác nhau. Bạn phải truy cập dữ liệu để vẽ và dữ liệu có nhiều dạng. Trong bất kỳ hình thức nào, tôi chắc rằng Python có một thư viện hiệu quả cho nó.

Và cách nhúng các ô đó vào các chương trình hoàn chỉnh hơn, hãy nói GUI đơn giản? matplotlib liên kết dễ dàng với các lib GUI của Python (như PyQT) và bạn có thể tạo ra những thứ mà chỉ giới hạn trí tưởng tượng của bạn.

+0

Cảm ơn những suy nghĩ của bạn - mặc dù Python giàu hơn R, tôi cảm thấy thoải mái hơn với R ở nhiều khía cạnh : danh sách tích hợp sẵn cũng có thể là từ điển được sắp xếp, tạo nhanh các môi trường tạm thời (không gian tên) để tính toán cục bộ, các chức năng ẩn danh mạnh mẽ ... Tạo GUI là '+' cho Python - tôi sử dụng nó với các ô được tạo bởi Matlab + PIL đôi khi nhưng tôi cũng tạo các GUI đơn giản trong R để phân tích tương tác. – hatmatrix

+1

Bạn có thể thử gọi R từ Python. Bạn có thể sử dụng RPy, nhưng những gì tôi thường làm là viết mã R vào một tập tin và sau đó chạy R như một quá trình trong chế độ hàng loạt, lưu kết quả vào đĩa và sau đó chọn nó lên từ Python. Hoạt động tuyệt vời. – telliott99