Regularnie robię liczby (typ analizy danych eksploracyjnych) w R. Programuję również w Pythonie i zastanawiałem się, czy istnieją funkcje lub pojęcia w matplotlib, które warto byłoby się uczyć. Na przykład, jestem całkiem zadowolony z R - ale jego funkcja image() będzie generować duże pliki z pikselowym wyjściem, podczas gdy odpowiednik Matlaba (programuję również regularnie w Matlab) wydaje się być zarządzalny w rozmiarze pliku, a także "wygładzony" - robi matplotlib zapewnia również takie redukcje ...? Ale bardziej ogólnie, zastanawiam się, jakie inne korzyści może dać matplotlib. Nie chcę, żeby to było pytanie trollingowe. Dzięki.matplotlib dla użytkownika R?
Odpowiedz
To jest trudne pytanie.
Niedawno zmieniłem niektóre z moich obciążeń graficznych z R na matplotlib. W mojej skromnej opinii, uważam, że wykresy matplotlib są ładniejsze (lepsze domyślne kolory, wyglądają ostrzej i nowocześniej). Myślę też, że matplotlib znacznie lepiej renderuje pliki PNG.
Jednak prawdziwą motywacją było to, że chciałem pracować z moimi podstawowymi danymi w Pythonie (i numpy), a nie R. Myślę, że to jest ważne pytanie, w którym języku chcesz się wczytać, analizować i manipulować danymi?
Z drugiej strony, premia za R jest taka, że domyślne ustawienia plotek działają (funkcja jest dostępna dla wszystkiego). Często przekopuję się przez dokumenty matplotlib (są grube) szukając jakiegoś niejasnego sposobu na dostosowanie granicy lub zwiększenie grubości linii. Procedury plotowania R mają za sobą pewną dojrzałość.
Dzięki za twoje myśli ... Planuję również w Matlab, więc pomyślałem, że może to być łatwe przejście, ale mogę stworzyć większość grafik, które mogę sobie wyobrazić w R (szczególnie z grafiką siatki), więc przypuszczam, że wstrzymam się matplotlib - Zapomniałem, że w każdym pakiecie są szczegóły dotyczące personalizacji, które w danym momencie są niepotrzebne ... – hatmatrix
Myślę, że największą zaletą jest to, że matplotlib jest oparty na Pythonie, o którym mówisz, że już wiesz. Tak więc jest to jeden język mniej do nauczenia się. Po prostu poświęć czas na opanowanie Pythona, a skorzystasz zarówno bezpośrednio z zadania kreślenia, jak i pośrednio dla innych potrzeb Pythona.
Poza tym, IMHO Python jest ogólnie bogatszym językiem niż R, o wiele więcej bibliotek, które mogą pomóc w różnych zadaniach. Musisz mieć dostęp do danych do kreślenia, a dane mają wiele postaci. W jakiejkolwiek formie, jestem pewien, że Python ma do tego wydajną bibliotekę.
Co powiesz na osadzenie tych działek w bardziej kompletnych programach, powiedzmy prostych GUI? Matplotlib łatwo łączy się z bibliotekami Pythona (jak PyQT) i możesz tworzyć rzeczy, które ograniczają tylko twoją wyobraźnię.
Dzięki za twoje myśli - pomimo, że Python jest bogatszy od R, z wieloma względami czuję się lepiej z R : jego wbudowaną listą może być również uporządkowany słownik, szybkie tworzenie tymczasowych środowisk (przestrzeni nazw) dla lokalnych obliczeń, potężne anonimowe funkcje ... Tworzenie GUI to "+" dla Pythona - używam go z działkami generowanymi przez Matlab + PIL czasami, ale również tworzę prosty GUI w R do interaktywnej analizy. – hatmatrix
Możesz spróbować wywołać R z Pythona. Możesz użyć RPy, ale zwykle robię to, piszę R do pliku, a następnie uruchamiam R jako proces w trybie wsadowym, zapisując wyniki na dysku, a następnie pobierając je z Pythona. Działa świetnie. – telliott99
- 1. Matplotlib analog z "par" R `
- 2. Colorbar dla polecenia matplotlib plot_surface
- 3. Animacja Matplotlib
- 4. Aplikacja użytkownika R z funkcją pustą
- 5. Matplotlib: zdefiniowana przez użytkownika funkcja wydruku wydrukuj dwukrotnie
- 6. Symbol waluty dla bieżących ustawień użytkownika użytkownika
- 7. Powiązania R dla Mapnika?
- 8. Angular4: Lokalizacja dla użytkownika
- 9. dla użytkownika resolv.conf
- 10. Nazwa użytkownika dla HackageDB?
- 11. Perforce dla użytkownika Subversion?
- 12. Lista dla bieżącego użytkownika
- 13. inteligentne etykiety osi matplotlib dla timedelta
- 14. matplotlib: osie inset dla wielu pudełek
- 15. matplotlib różne kolory dla każdej etykiety osi
- 16. Matplotlib jak zmienić figsize dla matshow
- 17. facecolor kwarg dla Matplotlib skumulowany histogram
- 18. Używanie obrazu dla etykiet zaznaczonych w matplotlib
- 19. Kompilacja Matplotlib dla Pythona na Snow Leopard
- 20. Czy dla ReportLab istnieje płynny matplotlib?
- 21. Matplotlib usuń interpolację dla brakujących danych
- 22. Zapobieganie wygładzaniu dla imshow w matplotlib
- 23. pozycje etykiet zaznaczania dla matplotlib 3D plot
- 24. Podstawowy przykład dla PCA z matplotlib
- 25. Jak ustawić marginesy dla rysunku matplotlib?
- 26. Przedłużanie parsera matematycznego matplotlib
- 27. matplotlib 2 niespójne czcionki
- 28. matplotlib niestandardowy znacznik/symbol
- 29. Określanie kolejności warstw matplotlib
- 30. Animowany histogram Matplotlib
spójrz na to podobne pytanie: http://stackoverflow.com/questions/1177019/what-can-be-done-in-r-that-cant-be-done-with-python-numpy-scipy – dalloliogm
Zdaję sobie sprawę, że jest to stare pytanie, ale dla nowych użytkowników: wystarczy użyć [ggplot2] (http://ggplot2.org/). Ma stromą krzywą uczenia się, ale [świetne dokumenty] (http://docs.ggplot2.org/current/) i generuje lepsze wątki niż domyślnie matplotlib. – naught101