中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣使用R語言ggplot2畫山脊圖展示NBA球員出手距離的分布

發布時間:2021-11-22 15:45:10 來源:億速云 閱讀:285 作者:柒染 欄目:大數據

這篇文章給大家介紹怎樣使用R語言ggplot2畫山脊圖展示NBA球員出手距離的分布,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

主要內容是探索了NBA 14/15賽季常規賽MVP排行榜前四名 庫里 哈登 詹姆斯 威少的投籃數據。今天重復第一個內容:用R語言的ggplot2畫山脊圖展示以上四人的投籃出手距離的分布。

原始數據集下載自kaggle

https://www.kaggle.com/dansbecker/nba-shot-logs

對原始數據集進行清洗的代碼 https://github.com/nycdatasci/bootcamp007_project/tree/master/Project1-ExploreVis/Xinyuan_Wu

這部分代碼我們就不關注了,直接運行得到作圖的數據 數據清洗的代碼我已經運行好了,需要本文的示例數據可以直接留言

 首先讀入清洗好的數據
df<-read.csv("NBA_MVP-1.tsv",header=T,sep="\t")
 

這邊遇到一個問題是:如果用read.table()函數讀入數據read.table("NBA_MVP-1.tsv",header=T,sep="\t")就會報錯Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 145 did not have 21 elements這個是什么原因呢?暫時還沒有搞懂

 完整的作圖代碼
library(ggplot2)
library(ggthemes)
ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)+
  theme_gdocs()+
  theme(axis.text.y = element_blank())+
  labs(x="Shot Distance",y="Shot Density")+
  ggtitle("Shot Distance")+
  scale_fill_manual("Players", 
                    values = c("#FFCC33", "#FF3300", "#990000", "#0066FF"))
 

最終結果

怎樣使用R語言ggplot2畫山脊圖展示NBA球員出手距離的分布  
image.png
 解釋代碼
library(ggplot2)
library(ggthemes)
 

加載用到的包

  • ggplot2用來作圖
  • ggthemes用來補充一些ggplot2的主題

最基本的密度圖

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))
 

根據運動員的名字分面

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)
 

設置一個作圖的主題

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)+
  theme_gdocs()
 

去掉y軸的刻度標簽

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)+
  theme_gdocs()+
  theme(axis.text.y = element_blank())
 

更改坐標軸的標題

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)+
  theme_gdocs()+
  theme(axis.text.y = element_blank())+
  labs(x="Shot Distance",y="Shot Density")
 

給整幅圖添加一個標題

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)+
  theme_gdocs()+
  theme(axis.text.y = element_blank())+
  labs(x="Shot Distance",y="Shot Density")+
  ggtitle("Shot Distance")
 

自定義填充的顏色并且更改圖例的標題

ggplot(data=df,aes(x=dist_cut))+
  geom_density(aes(fill=player_name))+
  facet_grid(player_name~.)+
  theme_gdocs()+
  theme(axis.text.y = element_blank())+
  labs(x="Shot Distance",y="Shot Density")+
  ggtitle("Shot Distance")+
  scale_fill_manual("Players", 
                    values = c("#FFCC33", "#FF3300", "#990000", "#0066FF"))
    大家可以自己從最基本的密度圖然后逐步向上疊加代碼看看效果

關于怎樣使用R語言ggplot2畫山脊圖展示NBA球員出手距離的分布就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延寿县| 远安县| 邢台县| 平谷区| 蒙自县| 安丘市| 宁陵县| 久治县| 滨州市| 阜平县| 海安县| 金川县| 桓仁| 桐梓县| 宁夏| 新闻| 九台市| 当涂县| 城口县| 汾西县| 龙州县| 基隆市| 密云县| 乌鲁木齐市| 中卫市| 永善县| 内丘县| 陇西县| 天门市| 当雄县| 凤凰县| 万载县| 巨鹿县| 无棣县| 普兰县| 丹东市| 独山县| 河南省| 定日县| 朝阳区| 南陵县|