如何用R语言ggplot2对科比的投篮数据进行可视化展示

如何用R语言ggplot2对科比的投篮数据进行可视化展示,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业永安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

如何用R语言ggplot2对科比的投篮数据进行可视化展示  
OIP.jpg

相信大部分球迷到现在也认为这是一个假新闻吧,Fake News!

今天的推文用到的数据来自kaggle ,推文的大部分内容是来自 https://www.kaggle.com/xvivancos/kobe-bryant-shot-selection/report

 第一步读入数据
shots<-read.csv("Kobe/data.csv",header=T)
   查看数据维度
dim(shots)
 

数据集总共有25个变量,今天的推文重点关注的是

  • combined_shot_type 出手类型
  • shot_zone_range 出手距离
  • shot_zone_area 出手区域
  • shot_zone_basic 这个也是出手区域
 出手类型总共有6种
  • Jump Shot 跳投
  • Dunk 扣篮
  • Layup 上篮
  • Tip Shot 补篮
  • Hook Shot 勾手
  • Bank Shot 擦板

这里遇到一个疑问:为啥擦板也算一种投篮类型呢?有没有人知道呢?

 通过柱形图来看一下不同的出手方式大小排序
df1<-data.frame(table(shots$combined_shot_type))
df1
library(ggplot2)
ggplot(df1,aes(x=reorder(Var1,Freq),y=Freq))+
  geom_col(aes(fill=Var1))+
  geom_label(aes(label=Freq))+
  coord_flip()+
  theme_bw()+
  theme(axis.title = element_blank(),
        axis.ticks.x=element_blank(),
        axis.text.x = element_blank(),
        legend.position = "none")
 
如何用R语言ggplot2对科比的投篮数据进行可视化展示  
image.png

通过上图我们可以看出科比几乎所有的进攻都会选择跳投

 接下来看一下出手距离

出手距离划分为

  • Less Than 8 ft
  • 8-16 ft
  • 16-24 ft
  • 24+ ft
  • Back Court Shot

这里一个小知识点是

feet 英尺;1英尺等于0.3048米 NBA三分线7.25米;23.9英尺

library(tidyverse)
library(cowplot)
p1<-ggplot(shots,aes(x=lon,y=lat))+
  geom_point(aes(color=shot_zone_range),
             show.legend = F)+
  ylim(c(33.7,34.0883))+
  theme_void()

p2<-ggplot(shots,aes(x=fct_infreq(shot_zone_range)))+
  geom_bar(aes(fill=shot_zone_range),show.legend = F)+
  theme_bw()+
  labs(x=NULL,y=NULL)
plot_grid(p1,p2,ncol = 1,nrow = 2)
 
如何用R语言ggplot2对科比的投篮数据进行可视化展示  
image.png
 接下来是出手区域,出手区域划分为
  • 面框
  • 左右45度
  • 左右底角

p3<-ggplot(shots,aes(x=lon,y=lat))+
  geom_point(aes(color=shot_zone_area),show.legend = F)+
  theme_void()+
  ylim(c(33.7,34.0883))
p3
p4<-ggplot(shots,aes(x=fct_infreq(shot_zone_area)))+
  geom_bar(aes(fill=shot_zone_area),show.legend = F)+
  theme_bw()+
  labs(x=NULL,y=NULL)+
  theme(axis.text.x = element_text(angle=60,hjust=1))
p4
plot_grid(p3,p4,ncol = 1,nrow = 2)
 
如何用R语言ggplot2对科比的投篮数据进行可视化展示  
image.png

从上图我们可以看出科比更喜欢面框进攻,其次是右侧,但是左右差别好像不大。

看完上述内容,你们掌握如何用R语言ggplot2对科比的投篮数据进行可视化展示的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享标题:如何用R语言ggplot2对科比的投篮数据进行可视化展示
文章分享:http://myzitong.com/article/pjgicc.html