library(ggplot2)
## Registered S3 methods overwritten by 'ggplot2':
##   method         from 
##   [.quosures     rlang
##   c.quosures     rlang
##   print.quosures rlang
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(hrbrthemes)
## Warning: package 'hrbrthemes' was built under R version 3.6.1
## NOTE: Either Arial Narrow or Roboto Condensed fonts are required to use these themes.
##       Please use hrbrthemes::import_roboto_condensed() to install Roboto Condensed and
##       if Arial Narrow is not on your system, please see http://bit.ly/arialnarrow
library(readr)
library(plotly)
## Warning: package 'plotly' was built under R version 3.6.1
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
top100tennis <- read_csv(file = 'top100tennis_messy-csv11.csv')
## Parsed with column specification:
## cols(
##   rank = col_double(),
##   country = col_character(),
##   player = col_character(),
##   last_name = col_character(),
##   first_name = col_character(),
##   age = col_double(),
##   points = col_double(),
##   tourn.played = col_double()
## )
top100tennis
## # A tibble: 100 x 8
##     rank country player      last_name first_name   age points tourn.played
##    <dbl> <chr>   <chr>       <chr>     <chr>      <dbl>  <dbl>        <dbl>
##  1     1 ROU     Simona Hal~ Halep     Simona        27   6641           16
##  2     2 GER     Angelique ~ Kerber    Angelique     30   5875           19
##  3     3 DEN     Caroline W~ Wozniacki Caroline      28   5436           19
##  4     4 JPN     Naomi Osaka Osaka     Naomi         21   5270           21
##  5     5 USA     Sloane Ste~ Stephens  Sloane        25   5023           21
##  6     6 UKR     Elina Svit~ Svitolina Elina         24   4940           19
##  7     7 CZE     Karolina P~ Pliskova  Karolina      26   4750           23
##  8     8 CZE     Petra Kvit~ Kvitova   Petra         28   4630           22
##  9     9 NED     Kiki Berte~ Bertens   Kiki          27   4360           25
## 10    10 RUS     Daria Kasa~ Kasatkina Daria         21   3415           25
## # ... with 90 more rows

Lollipop Chart - Top 100 Tennis Players

top100tennis1 <- ggplot(top100tennis,
                aes(x = tourn.played, y = rank, label = rank)
                ) +
        geom_point(size = 3,
                   color = "red",
                   alpha = 0.5,
                   aes(text = paste(paste("Rank: ", top100tennis$rank),
                                    paste("Last Name: ", top100tennis$last_name),
                                    paste("First Name: ", top100tennis$first_name),
                                    paste("Age: ", top100tennis$age),
                                    paste("Point: ", top100tennis$points),
                                    paste("Tournments played: ", top100tennis$tourn.played),
                                    sep = "<br />"))
                   ) +
        geom_text(color = 'black', size = 2) +
        geom_segment(aes(x = 0,
                         y = rank,
                         xend = top100tennis$tourn.played, yend = rank,
                         color = "rank")
                     ) +
        xlab("Tournaments played") +
        ylab("Rank") +
        ggtitle("Top 100 Tennis Players") +
        theme_minimal(base_size = 12) +
        theme(legend.position = "none", ) +
        coord_flip()
## Warning: Ignoring unknown aesthetics: text
top100tennis1 <- ggplotly(top100tennis1,
                          tooltip = "text"
                          )
top100tennis1