Μετάβαση στο περιεχόμενο

ggplot2

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

ggplot2
Ggplot2_hex_logo.png
Γενικά
Είδοςελεύθερο λογισμικό, βιβλιοθήκη
Διανομή
Έκδοση3.5.1 (23 Απριλίου 2024)[1]
Λειτουργικά
Ανάπτυξη
Γραμμένο σεR
Άδεια χρήσηςMIT license
Σύνδεσμοι
Επίσημος ιστότοπος
http://ggplot2.org/
Αποθετήριο κώδικα
https://github.com/tidyverse/ggplot2
ggplot2
ggplot2 και βασικές προεπιλογές γραφικών για μια απλή εικόνα διαγράμματος διασποράς (αγγλικά: scatterplot‎‎).

Η ggplot2 είναι ένα πακέτο απεικόνισης δεδομένων ανοιχτού κώδικα για τη γλώσσα στατιστικής προγραμματισμού R. Δημιουργήθηκε από τον Hadley Wickham το 2005. Το ggplot 2 είναι μια εφαρμογή της Γραμματικής των Γραφικών (Grammar of Graphics) του Leland Wilkinson - ένα γενικό σχήμα απεικόνισης δεδομένων που χωρίζει τα γραφικά σε σημασιολογικά στοιχεία όπως κλίμακα και στρώματα. Η ggplot2 μπορεί να χρησιμεύσει ως αντικατάσταση για τα βασικά γραφικά στο R και περιέχει μια σειρά επιλογών για την προβολή ιστοσελίδας και εκτύπωσης της κοινής κλίμακας. Από το 2005, το ggplot2 έχει αυξηθεί σε χρήση και έχει γίνει ένα από τα πιο δημοφιλή R πακέτα καθώς είναι από τα πιο προσβάσιμα και εύκολα σε χρήση.[2][3][4]

Στις 2 Μαρτίου του 2012, η έκδοση 0.9.0 του ggplot2 κυκλοφόρησε με πολλές αλλαγές στην εσωτερική της οργάνωση, την κατασκευή της κλίμακας και τα στρώματα. [5]

Στις 25 Φεβρουαρίου 2014, ο Hadley Wickham ανακοίνωσε επίσημα ότι "ggplot2" μεταβαίνει στη λειτουργία συντήρησης. Αυτό σημαίνει ότι δεν προσθέτουμε πλέον νέες λειτουργίες, αλλά θα συνεχίσουμε να διορθώνουμε τα μεγάλα σφάλματα και θα εξετάσουμε τις νέες λειτουργικές δυνατότητες που υποβάλλονται ως αιτήματα. Με βάση την αναγνώρηση αυτού του μεγάλου βήματος, η επόμενη έκδοση θα του ggplot2 θα είναι 1.0.0."[6]

Στις 21 Δεκεμβρίου 2015, κυκλοφόρησε η ενημερωμένη έκδοση του ggplot 2.0.0. Στην ανακοίνωση, αναφέρθηκε ότι "η ggplot2 έχει πλέον επίσημο μηχανισμό επέκτασης. Αυτό σημαίνει ότι άλλοι μπορούν τώρα εύκολα να δημιουργήσουν τις τους στατιστικές, γεωγραφικές και θέσεις και να τις παρέχουν σε άλλα πακέτα". [own][7]

Συγκρίσεις με τα βασικά γραφικά και άλλα πακέτα

[Επεξεργασία | επεξεργασία κώδικα]

Σε αντίθεση με τα κοινά γραφικά της βάσης R, το ggplot2 επιτρέπει στον χρήστη να προσθέσει, να αφαιρέσει ή να τροποποιήσει τα επιθυμητά στοιχεία σε ένα σχέδιο σε υψηλό επίπεδο αφηρημένης απόκρυψης. [8] Αυτή η αφαιρέτηση έχει ένα κόστος, με το ggplot2 να είναι πιο αργό από τα γραφικά πλέγματος. [9]

Η δημιουργία ενός διαφορετικού σχεδίου για διάφορα υποσυνθέματα δεδομένων απαιτεί κύκλους και χειροκίνητη διαχείριση στα βασικά γραφικά R, ένω το ggplot2 απλοποιεί αυτή την διαδικασία με μία συλλογή λειτουργιών "facet" για να επιλέξετε. [10]

Ένας πιθανός περιορισμός των γραφικών βάσης R είναι το "μοντέλο στυλό και χαρτί" που χρησιμοποιείται για την καταγραφή του πληθυσμού της συσκευής σχεδιασμού. [11] Η γραφική έξοδος από τον διερμηνέα προστίθεται απευθείας στην συσκευή σχεδιασμού ή στο παράθυρο, αντί ξεχωριστά για κάθε ξεχωριστό στοιχείο της σχεδίασης. [12] Σε αυτό το σημείο είναι παρόμοιο με το πακέτο πλέγματος, αν και ο Wickham υποστηρίζει ότι η ggplot2 κληρονομεί ένα πιο επίσημο μοντέλο γραφικών από τον Wilkinson. [13] Ως εκ τούτου, επιτρέπει υψηλό βαθμό μοντικότητας. Τα ίδια υποκείμενα δεδομένα μπορούν να μετατραπούν από πολλές διαφορετικές κλίμακες ή στρώσεις. [14][15]

Οι πτυχές μπορούν να δημιουργηθούν μέσω της λειτουργίας ευκολίας qplot() όπου τα επιχειρήματα και οι προεπιλογές προορίζονται να είναι παρόμοια με τη λειτουργία πτυχής της βάσης R. [16][17] Μία από της πιο περίπλοκες ικανότητες σχεδιασμού είναι διαθέσιμη μέσω του ggplot() το οποίο εκθέτει τον χρήστη σε πιο ρητά στοιχεία της γραμματικής. [18]

  • ggpy, ggplot για το Python, αλλά δεν έχει ενημερωθεί από το 2016-11-20[19]
  • Το plotnine[20] ξεκίνησε ως μια προσπάθεια για τη βελτίωση της κλιμάκωσης του ggplot για το Python και είναι σε μεγάλο βαθμό συμβατό με τη συνταξιοδότηση ggplot2.
  • Σχέδιο - Διαδραστικές, online ggplot2 γραφικά. [21]
  • gramm, μια τάξη σχεδιασμού για το MATLAB εμπνευσμένη από το ggplot2 [22]
  • Gadfly, ένα σύστημα σχεδιασμού και απεικόνισης που γράφεται με τη Julia, βασισμένο σε μεγάλο βαθμό στο ggplot2[23]
  • Χάρτη::GGPlot - ggplot2 στο Perl[24]
  • Η βιβλιοθήκη Lets-Plot για το Python περιλαμβάνει ένα εγγενές backend και μια API Python, η οποία βασίστηκε κυρίως στο πακέτο ggplot2 γνωστό στους ΕΠΙ δεδομένων που χρησιμοποιούν R. [25]
  • Το Lets-Plot Kotlin API είναι μια ανοιχτή βιβλιοθήκη σχεδιασμού στατιστικών δεδομένων που εφαρμόζεται χρησιμοποιώντας τη Γλώσσα προγραμματισμού Kotlin, και βασίζεται στις αρχές των επιπερισσόμενων γραφικών που περιγράφονται για πρώτη φορά στο έργο του Leland Wilkinson The Grammar of Graphics. [26]
  • ggplotnim, βιβλιοθήκη σχεδιασμού χρησιμοποιώντας τη γλώσσα προγραμματισμού Nim εμπνευσμένη από την ggplot2.[27]
  1. «Release 3.5.1». 23 Απριλίου 2024. Ανακτήθηκε στις 23 Μαΐου 2024. 
  2. Wickham, Hadley (July 2010). «ggplot2: Elegant Graphics for Data Analysis». Journal of Statistical Software 35 (1). http://www.jstatsoft.org/v35/b01/paper. 
  3. Wilkinson, Leland (June 2011). «ggplot2: Elegant Graphics for Data Analysis by WICKHAM, H». Biometrics 67 (2): 678–679. doi:10.1111/j.1541-0420.2011.01616.x. 
  4. «CRAN - Package ggplot2». 12 Οκτωβρίου 2023. 
  5. ggplot2 Development Team. «Changes and Additions to ggplot2-0.9.0» (PDF). Αρχειοθετήθηκε από το πρωτότυπο (PDF) στις 26 Ιανουαρίου 2015. Ανακτήθηκε στις 31 Οκτωβρίου 2017. 
  6. Wickham, Hadley. «ggplot2 development». ggplot2 Google Group. Ανακτήθηκε στις 26 Φεβρουαρίου 2014. 
  7. «ggplot 2.0.0». 21 Δεκεμβρίου 2015. Αρχειοθετήθηκε από το πρωτότυπο στις 7 Φεβρουαρίου 2021. Ανακτήθηκε στις 21 Ιουνίου 2021. 
  8. Smith, David. «Create beautiful statistical graphics with ggplot2». Revolutions. Revolution Analytics. Ανακτήθηκε στις 11 Ιουλίου 2011. 
  9. «ggplot2 Version of Figures in "Lattice: Multivariate Data Visualization with R" (Final Part)». 25 Αυγούστου 2009. 
  10. Yau, Nathan (22 Μαρτίου 2016). «Comparing ggplot2 and R Base Graphics». FlowingData (στα Αγγλικά). Ανακτήθηκε στις 17 Απριλίου 2022. 
  11. Wickham, Hadley (2009). ggplot2: Elegant Graphics for Data Analysis. Springer. σελ. 5. ISBN 978-0-387-98140-6. 
  12. Murrell, Paul (August 2009). «R Graphics». Wiley Interdisciplinary Reviews: Computational Statistics 1 (2): 216–220. doi:10.1002/wics.22. 
  13. Sarkar, Deepayan (2008). Lattice: multivariate data visualization with R. Springer. σελίδες xi. ISBN 978-0-387-75968-5. 
  14. Teetor, Paul (2011). R Cookbook. O'Reilly. σελίδες 223. ISBN 978-0-596-80915-7. 
  15. Wickham, Hadley (March 2010). «A Layered Grammar of Graphics». Journal of Computational and Graphical Statistics 19 (1): 3–28. doi:10.1198/jcgs.2009.07098. http://vita.had.co.nz/papers/layered-grammar.pdf. 
  16. R Development Core Team (2011). R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing. ISBN 978-3-900051-07-5. 
  17. Ginestet, Cedric (January 2011). «ggplot2: Elegant Graphics for Data Analysis». Journal of the Royal Statistical Society, Series A 174 (1): 245–246. doi:10.1111/j.1467-985X.2010.00676_9.x. 
  18. Muenchen, Robert A.· Hilbe, Joseph M (2010). «Graphics with ggplot2». R for Stata Users. Statistics and Computing. Springer. σελίδες 385–452. ISBN 978-1-4419-1317-3. 
  19. «yhat/ggpy: ggplot port for python». GitHub. yhat. Ανακτήθηκε στις 1 Φεβρουαρίου 2024. 
  20. «plotnine». Αρχειοθετήθηκε από το πρωτότυπο στις 2 Αυγούστου 2023. Ανακτήθηκε στις 2 Αυγούστου 2023. 
  21. «Plotly graphing library for ggplot2 in ggplot2». Plotly Graphing Libraries. Plotly. Ανακτήθηκε στις 1 Φεβρουαρίου 2024. 
  22. «ggplot for Matlab». GitHub. Pierre Morel (@piermorel). Ανακτήθηκε στις 11 Δεκεμβρίου 2015. 
  23. «Gadfly.jl». Gadfly.jl. Ανακτήθηκε στις 11 Σεπτεμβρίου 2018. 
  24. «Stephan Loyd/Chart-GGPlot-0.0001». MetaCPAN. Ανακτήθηκε στις 30 Μαρτίου 2019. 
  25. «JetBrains/lets-plot». GitHub. JetBrains. Ανακτήθηκε στις 3 Απριλίου 2021. 
  26. «JetBrains/lets-plot-kotlin». GitHub. JetBrains. Ανακτήθηκε στις 4 Απριλίου 2021. 
  27. «ggplotnim». GitHub. Vindaar. Ανακτήθηκε στις 1 Αυγούστου 2023. 

Επιπλέον ανάγνωση

[Επεξεργασία | επεξεργασία κώδικα]

Εξωτερικοί σύνδεσμοι

[Επεξεργασία | επεξεργασία κώδικα]