Ένα γράφημα ράβδων είναι ένας πολύ καλός τρόπος για την εμφάνιση κατηγορηματικών μεταβλητών στον άξονα x. Αυτός ο τύπος γραφήματος υποδηλώνει δύο πτυχές στον άξονα y.
- Το πρώτο μετράει τον αριθμό εμφάνισης μεταξύ ομάδων.
- Το δεύτερο δείχνει μια συνοπτική στατιστική (min, max, μέσος όρος και ούτω καθεξής) μιας μεταβλητής στον άξονα y.
Θα χρησιμοποιήσετε το σύνολο δεδομένων mtcars με τις ακόλουθες μεταβλητές:
- cyl: Αριθμός κυλίνδρου στο αυτοκίνητο. Αριθμητική μεταβλητή
- am: Τύπος μετάδοσης. 0 για αυτόματο και 1 για χειροκίνητο. Αριθμητική μεταβλητή
- mpg: Μίλια ανά γαλόνι. Αριθμητική μεταβλητή
Σε αυτό το σεμινάριο, θα μάθετε
- Πώς να δημιουργήσετε γράφημα ράβδων
- Αλλάξτε το χρώμα των ράβδων
- Αλλάξτε την ένταση
- Χρώμα ανά ομάδες
- Προσθέστε μια ομάδα στις γραμμές
- Γράφημα ράβδων σε ποσοστό
- Δίπλα στο πλάι
- Ιστόγραμμα
Πώς να δημιουργήσετε γράφημα ράβδων
Για να δημιουργήσετε γράφημα σε R, μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη ggplot που δημιουργεί γραφήματα έτοιμα για δημοσίευση. Η βασική σύνταξη αυτής της βιβλιοθήκης είναι:
ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric object: The type of plot you want to show. The most common objects are:- Point: `geom_point()`- Bar: `geom_bar()`- Line: `geom_line()`- Histogram: `geom_histogram()`
Σε αυτό το σεμινάριο, σας ενδιαφέρει το γεωμετρικό αντικείμενο geom_bar () που δημιουργεί το γράφημα ράβδων.
Διάγραμμα ράβδων: μέτρηση
Το πρώτο σας γράφημα δείχνει τη συχνότητα του κυλίνδρου με το geom_bar (). Ο παρακάτω κώδικας είναι η πιο βασική σύνταξη.
library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()
Επεξήγηση κώδικα
- Μεταβιβάζετε το σύνολο δεδομένων mtcars στο ggplot.
- Μέσα στο όρισμα aes (), προσθέτετε τον άξονα x ως μεταβλητή παράγοντα (κυλίνδρου)
- Το σύμβολο + σημαίνει ότι θέλετε το R να συνεχίσει να διαβάζει τον κωδικό. Κάνει τον κώδικα πιο ευανάγνωστο σπάζοντάς τον.
- Χρησιμοποιήστε το geom_bar () για το γεωμετρικό αντικείμενο.
Παραγωγή:
Σημείωση : βεβαιωθείτε ότι μετατρέπετε τις μεταβλητές σε παράγοντα, διαφορετικά το R αντιμετωπίζει τις μεταβλητές ως αριθμητικές. Δείτε το παρακάτω παράδειγμα.
Προσαρμόστε το γράφημα
Τέσσερα ορίσματα μπορούν να περάσουν για την προσαρμογή του γραφήματος:
- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`- `alpha`: Control density of the color- `fill`: Change the color of the bar- `size`: Control the size the bar
Αλλάξτε το χρώμα των ράβδων
Μπορείτε να αλλάξετε το χρώμα των ράβδων. Σημειώστε ότι τα χρώματα των ράβδων είναι όλα παρόμοια.
# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()
Επεξήγηση κώδικα
- Τα χρώματα των ράβδων ελέγχονται από την αντιστοίχιση aes () μέσα στο γεωμετρικό αντικείμενο (δηλαδή όχι στο ggplot ()). Μπορείτε να αλλάξετε το χρώμα με τα ορίσματα πλήρωσης. Εδώ, επιλέγετε το κοραλλιογενές χρώμα.
Παραγωγή:
Μπορείτε να χρησιμοποιήσετε αυτόν τον κωδικό:
grDevices::colors()
για να δείτε όλα τα διαθέσιμα χρώματα στο R. Υπάρχουν περίπου 650 χρώματα.
Αλλάξτε την ένταση
Μπορείτε να αυξήσετε ή να μειώσετε την ένταση του χρώματος των ράβδων
# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()
Επεξήγηση κώδικα
- Για να αυξήσετε / μειώσετε την ένταση της γραμμής, μπορείτε να αλλάξετε την τιμή του άλφα. Ένα μεγάλο άλφα αυξάνει την ένταση και το χαμηλό άλφα μειώνει την ένταση. Το alpha κυμαίνεται από 0 έως 1. Εάν 1, τότε το χρώμα είναι το ίδιο με την παλέτα. Εάν 0, το χρώμα είναι λευκό. Επιλέγετε άλφα = 0,1.
Παραγωγή:
Χρώμα ανά ομάδες
Μπορείτε να αλλάξετε τα χρώματα των ράβδων, που σημαίνει ένα διαφορετικό χρώμα για κάθε ομάδα. Για παράδειγμα, η κυλινδρική μεταβλητή έχει τρία επίπεδα, τότε μπορείτε να σχεδιάσετε το γράφημα ράβδων με τρία χρώματα.
# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()
Επεξήγηση κώδικα
- Το όρισμα γεμίζει μέσα στο aes () επιτρέπει την αλλαγή του χρώματος της ράβδου. Αλλάζετε το χρώμα ρυθμίζοντας τη μεταβλητή πλήρωσης = άξονα x. Στο παράδειγμά σας, η μεταβλητή άξονα x είναι κυλινδρική. πλήρωση = συντελεστής (κυλίνδρου)
Παραγωγή:
Προσθέστε μια ομάδα στις γραμμές
Μπορείτε να χωρίσετε περαιτέρω τον άξονα y με βάση ένα άλλο επίπεδο παράγοντα. Για παράδειγμα, μπορείτε να μετρήσετε τον αριθμό της αυτόματης και χειροκίνητης μετάδοσης με βάση τον τύπο κυλίνδρου.
Θα προχωρήσετε ως εξής:
- Βήμα 1: Δημιουργήστε το πλαίσιο δεδομένων με σύνολο δεδομένων mtcars
- Βήμα 2: Επισημάνετε τη μεταβλητή am με αυτόματο για αυτόματη μετάδοση και man για μη αυτόματη μετάδοση Μετατροπή am και cyl ως παράγοντας έτσι ώστε να μην χρειάζεται να χρησιμοποιήσετε τον παράγοντα () στη συνάρτηση ggplot ().
- Βήμα 3: Σχεδιάστε το γράφημα ράβδων για να μετρήσετε τον αριθμό μετάδοσης ανά κύλινδρο
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))
Έχετε έτοιμο το σύνολο δεδομένων, μπορείτε να σχεδιάσετε το γράφημα.
# Βήμα 3
ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()
Επεξήγηση κώδικα
- Το ggpplot () περιέχει τα δεδομένα του συνόλου δεδομένων και τα aes ().
- Στο aes () συμπεριλαμβάνετε τη μεταβλητή άξονα x και ποια μεταβλητή απαιτείται για να γεμίσετε τη γραμμή (δηλ. Am)
- geom_bar (): Δημιουργήστε το γράφημα ράβδων
Παραγωγή:
Η χαρτογράφηση θα γεμίσει τη γραμμή με δύο χρώματα, ένα για κάθε επίπεδο. Είναι εύκολο να αλλάξετε την ομάδα επιλέγοντας άλλες μεταβλητές παράγοντα στο σύνολο δεδομένων.
Γράφημα ράβδων σε ποσοστό
Μπορείτε να οπτικοποιήσετε τη γραμμή σε ποσοστό αντί για τον αρχικό αριθμό.
# Γράφημα ράβδων σε ποσοστό
ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()
Επεξήγηση κώδικα
- Χρησιμοποιήστε τη θέση = "fill" στο όρισμα geom_bar () για να δημιουργήσετε ένα γραφικό με ποσοστό στον άξονα y.
Παραγωγή:
Δίπλα στο πλάι
Είναι εύκολο να σχεδιάσετε το γράφημα ράβδων με τη μεταβλητή ομάδας δίπλα-δίπλα.
# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()
Επεξήγηση κώδικα
- position = position_dodge (): Παρουσιάζει ρητά πώς να τακτοποιήσετε τις μπάρες
Παραγωγή:
Ιστόγραμμα
Στο δεύτερο μέρος του οδηγού γραφήματος ράβδων, μπορείτε να αντιπροσωπεύσετε την ομάδα μεταβλητών με τιμές στον άξονα y.
Ο στόχος σας είναι να δημιουργήσετε ένα γράφημα με το μέσο μίλι ανά γαλόνι για κάθε τύπο κυλίνδρου. Για να σχεδιάσετε ένα ενημερωτικό γράφημα, θα ακολουθήσετε τα εξής βήματα:
- Βήμα 1: Δημιουργήστε μια νέα μεταβλητή με το μέσο μίλι ανά γαλόνι ανά κύλινδρο
- Βήμα 2: Δημιουργήστε ένα βασικό ιστόγραμμα
- Βήμα 3: Αλλάξτε τον προσανατολισμό
- Βήμα 4: Αλλάξτε το χρώμα
- Βήμα 5: Αλλάξτε το μέγεθος
- Βήμα 6: Προσθέστε ετικέτες στο γράφημα
Βήμα 1) Δημιουργήστε μια νέα μεταβλητή
Δημιουργείτε ένα πλαίσιο δεδομένων με το όνομα data_histogram που απλώς επιστρέφει τα μέσα μίλια ανά γαλόνι με τον αριθμό των κυλίνδρων στο αυτοκίνητο. Ονομάζετε αυτήν τη νέα μεταβλητή mean_mpg και στρογγυλοποιείτε τη μέση τιμή με δύο δεκαδικά ψηφία.
# Βήμα 1
data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))
Βήμα 2) Δημιουργήστε ένα βασικό ιστόγραμμα
Μπορείτε να σχεδιάσετε το ιστόγραμμα. Δεν είναι έτοιμο να επικοινωνήσει για παράδοση στον πελάτη, αλλά μας δίνει μια διαίσθηση για την τάση.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")
Επεξήγηση κώδικα
- Το aes () έχει τώρα δύο μεταβλητές. Η μεταβλητή κυλίνδρου αναφέρεται στον άξονα x και το μέσο_mpg είναι ο άξονας y.
- Πρέπει να περάσετε το όρισμα stat = "ταυτότητα" για να αναφέρετε τη μεταβλητή στον άξονα y ως αριθμητική τιμή. Το geom_bar χρησιμοποιεί το stat = "bin" ως προεπιλεγμένη τιμή.
Παραγωγή:
Βήμα 3) Αλλάξτε τον προσανατολισμό
Αλλάζετε τον προσανατολισμό του γραφήματος από κάθετο σε οριζόντιο.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()
Επεξήγηση κώδικα
- Μπορείτε να ελέγξετε τον προσανατολισμό του γραφήματος με το coord_flip ().
Παραγωγή:
Βήμα 4) Αλλάξτε το χρώμα
Μπορείτε να διαφοροποιήσετε τα χρώματα των ράβδων ανάλογα με το επίπεδο παράγοντα της μεταβλητής άξονα-x.
ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()
Επεξήγηση κώδικα
- Μπορείτε να σχεδιάσετε το γράφημα ανά ομάδες με τη χαρτογράφηση fill = cyl. Το R φροντίζει αυτόματα τα χρώματα με βάση τα επίπεδα της κυλινδρικής μεταβλητής
Παραγωγή:
Βήμα 5) Αλλάξτε το μέγεθος
Για να κάνετε το γράφημα να φαίνεται πιο όμορφο, μειώνετε το πλάτος της ράβδου.
graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()
Επεξήγηση κώδικα
- Το όρισμα πλάτους στο geom_bar () ελέγχει το μέγεθος της γραμμής. Η μεγαλύτερη τιμή αυξάνει το πλάτος.
- Σημείωση, αποθηκεύετε το γράφημα στη μεταβλητή γραφική παράσταση. Το κάνετε επειδή το επόμενο βήμα δεν θα αλλάξει τον κώδικα του μεταβλητού γραφήματος. Βελτιώνει την αναγνωσιμότητα του κώδικα.
Παραγωγή:
Βήμα 6) Προσθέστε ετικέτες στο γράφημα
Το τελευταίο βήμα συνίσταται στην προσθήκη της τιμής της μεταβλητής mean_mpg στην ετικέτα.
graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()
Επεξήγηση κώδικα
- Η συνάρτηση geom_text () είναι χρήσιμη για τον έλεγχο της αισθητικής του κειμένου.
- label =: Προσθέστε μια ετικέτα μέσα στις μπάρες
- mean_mpg: Χρησιμοποιήστε τη μεταβλητή mean_mpg για την ετικέτα
- hjust ελέγχει τη θέση της ετικέτας. Οι τιμές κλειστές στο 1 εμφανίζουν την ετικέτα στο πάνω μέρος της γραμμής και υψηλότερες τιμές φέρνουν την ετικέτα στο κάτω μέρος. Εάν ο προσανατολισμός του γραφήματος είναι κατακόρυφος, αλλάξτε hjust σε vjust.
- color = "white": Αλλάξτε το χρώμα του κειμένου. Εδώ χρησιμοποιείτε το λευκό χρώμα.
- size = 3: Ορίστε το μέγεθος του κειμένου.
Παραγωγή:
Περίληψη
Ένα γράφημα ράβδων είναι χρήσιμο όταν ο άξονας x είναι κατηγορηματική μεταβλητή. Ο άξονας y μπορεί να είναι είτε μια μέτρηση είτε μια συνοπτική στατιστική. Ο παρακάτω πίνακας συνοψίζει τον τρόπο ελέγχου του ραβδόγραμμα με το ggplot2:
Σκοπός |
κώδικας |
---|---|
μετρώ |
ggplot(df, eas(x= factor(x1)) + geom_bar() |
Μετρήστε με διαφορετικό χρώμα γεμίσματος |
ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar() |
Μετρήστε με ομάδες, στοιβάζονται |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Μετρήστε με ομάδες, δίπλα-δίπλα |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar() |
Καταμέτρηση με ομάδες, στοιβάζονται σε% |
ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge()) |
Αξίες |
ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity") |