看篮球学R语言:R语言ggplot2做折线图和堆积柱形图探索威少爷的投篮数据

小明的数据分析笔记本

2022-07-29

这个是公众号 小明的数据分析笔记本 2019年1月31号发布的推文

以下是推文内容

资深篮球评论员苏群老师的公众号今天分享的文章是《威少投篮惨不忍睹,但他把MVP给乔治》,其中用表格形式展示了威少爷11年职业生涯出手距离投篮命中率和出手距离所占比重的变化,个人认为这类数据用折线图看起来更为直观,本文记录整理苏群老师文章中用到的数据后使用ggplot2制作折线图的代码.

不同出手距离的命中率

library(readxl)
df1<-read_excel("data01.xlsx")
library(knitr)
## Warning: package 'knitr' was built under R version 4.0.5
kable(df1)
Season A B C D E
08-09 476 323 362 379 271
09-10 533 359 340 388 221
10-11 606 306 362 385 330
11-12 631 358 404 437 316
12-13 609 289 398 387 323
13-14 592 264 444 415 318
14-15 580 310 402 363 299
15-16 596 409 429 392 296
16-17 576 305 434 345 343
17-18 611 306 382 394 298
18-19 642 154 314 372 250

这里为了整理数据方便 我把小数点省略了,正常应该都是0-100之间的数字

作图代码

library(readxl)
df1<-read_excel("data01.xlsx")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.5
colnames(df1)<-c("Season","0~1","1~3","3~5","5~7","7~")
mydata1<-reshape2::melt(df1,id.vars="Season",variable.name="shooting_distance",value.name = "Percentage")
ggplot(data=mydata1,aes(x=Season,y=Percentage,group=shooting_distance))+
  geom_line(aes(color=shooting_distance))+
  scale_color_brewer(name="Shooting Distance(m)",palette="Set1")+
  geom_point(aes(color=shooting_distance))+
  labs(x=NULL)+
  scale_y_continuous(breaks = seq(0,1000,by=100),
                     labels = seq(0,100,by=10),
                     limits = c(0,1000))+
  theme_bw()+
  theme(legend.key = element_blank(),
        legend.background = element_rect(fill="transparent"),
        axis.text.x = element_text(angle=90,vjust=0.5))

不同出手距离所占的比重

这个数据找不到了,还是用上面命中率的数据吧

library(readxl)
df1<-read_excel("data01.xlsx")
library(ggplot2)
colnames(df1)<-c("Season","0~1","1~3","3~5","5~7","7~")
mydata1<-reshape2::melt(df1,id.vars="Season",variable.name="shooting_distance",value.name = "Percentage")
ggplot(data=mydata1,aes(x=Season,y=Percentage,fill=shooting_distance))+
  geom_bar(stat="identity",position="fill")+
  scale_fill_brewer(name="Shooting Distance(m)",palette="Set1")+
  labs(x=NULL)+
  theme_bw()+
  theme(legend.key = element_blank(),
        legend.background = element_rect(fill="transparent"),
        axis.text.x = element_text(angle=90,vjust=0.5))

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!