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