Tricks of ggplot2

Kategoriska data i Tidyverse

Emily Robinson

Instructor

Data om jobbtitlar

 

job_titles_by_perc
# A tibble: 16 x 2
   CurrentJobTitleSelect                perc_w_title
   <chr>                                       <dbl>
 1 Business Analyst                          0.0673 
 2 Computer Scientist                        0.0283 
 3 Data Analyst                              0.103  
 4 Data Miner                                0.00997
 5 Data Scientist                            0.206  
 6 DBA/Database Engineer                     0.0158 
Kategoriska data i Tidyverse

Ursprungligt diagram

ggplot(job_titles_by_perc,
        aes(x = CurrentJobTitleSelect,, y = perc_w_title)) + 
    geom_point() 

Ett spridningsdiagram med "Current Job Title Select" på x-axeln och "Perc w title" på y-axeln. X-axelns etiketter är oläsliga eftersom texten överlappar. Diagrammet är inte sorterat efter y-axeln.

Kategoriska data i Tidyverse

Ändra vinkel på axeletiketter

ggplot(job_titles_by_perc,
        aes(x = CurrentJobTitleSelect, y = perc_w_title)) + 
    geom_point() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1))

Samma spridningsdiagram som tidigare men med x-axelns etiketter lodräta så att de är läsbara.

Kategoriska data i Tidyverse

Använda fct_reorder()

ggplot(job_titles_by_perc, 
   aes(x = fct_reorder(CurrentJobTitleSelect, perc_w_title), 
       y = perc_w_title)) + 
    geom_point() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1))

Samma spridningsdiagram som tidigare men sorterat från vänster till höger i stigande ordning längs y-axeln.

Kategoriska data i Tidyverse

Lägga till fct_rev()

ggplot(job_titles_by_perc, 
        aes(x = fct_rev(fct_reorder(CurrentJobTitleSelect, 
        perc_w_title)), y = perc_w_title)) + 
    geom_point() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1))

Samma spridningsdiagram som tidigare men sorterat från vänster till höger i fallande ordning längs y-axeln.

Kategoriska data i Tidyverse

Använda labs()

ggplot(job_titles_by_perc, 
        aes(x = fct_rev(fct_reorder(CurrentJobTitleSelect, perc_w_title)),
            y = perc_w_title)) + 
    geom_point() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
    labs(x = "Job Title", y = "Percent with title")

Samma spridningsdiagram som tidigare men med x-axeln märkt "Job Title" och y-axeln märkt "Percent with title".

Kategoriska data i Tidyverse

Byta till procentskala

ggplot(job_titles_by_perc, 
       aes(x=fct_rev(fct_reorder(CurrentJobTitleSelect,perc_w_title)),
           y=perc_w_title)) + 
    geom_point() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
    labs(x = "Job Title", y = "Percent with title") + 
    scale_y_continuous(labels = scales::percent_format())

Samma spridningsdiagram som tidigare men y-axelns etiketter visas nu som procent. Till exempel visas 0,05 nu som 5%.

Kategoriska data i Tidyverse

Nu kör vi en övning!

Kategoriska data i Tidyverse

Preparing Video For Download...