這篇文章給大家介紹怎樣使用R語言ggplot2畫山脊圖展示NBA球員出手距離的分布,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
10年積累的成都做網(wǎng)站、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有門頭溝免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
主要內(nèi)容是探索了NBA 14/15賽季常規(guī)賽MVP排行榜前四名 庫里 哈登 詹姆斯 威少的投籃數(shù)據(jù)。今天重復(fù)第一個內(nèi)容:用R語言的ggplot2畫山脊圖展示以上四人的投籃出手距離的分布。
原始數(shù)據(jù)集下載自kaggle
https://www.kaggle.com/dansbecker/nba-shot-logs
對原始數(shù)據(jù)集進(jìn)行清洗的代碼 https://github.com/nycdatasci/bootcamp007_project/tree/master/Project1-ExploreVis/Xinyuan_Wu
這部分代碼我們就不關(guān)注了,直接運行得到作圖的數(shù)據(jù) 數(shù)據(jù)清洗的代碼我已經(jīng)運行好了,需要本文的示例數(shù)據(jù)可以直接留言
df<-read.csv("NBA_MVP-1.tsv",header=T,sep="\t")
這邊遇到一個問題是:如果用read.table()函數(shù)讀入數(shù)據(jù)
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"))
最終結(jié)果
library(ggplot2)
library(ggthemes)
加載用到的包
最基本的密度圖
ggplot(data=df,aes(x=dist_cut))+
geom_density(aes(fill=player_name))
根據(jù)運動員的名字分面
ggplot(data=df,aes(x=dist_cut))+
geom_density(aes(fill=player_name))+
facet_grid(player_name~.)
設(shè)置一個作圖的主題
ggplot(data=df,aes(x=dist_cut))+
geom_density(aes(fill=player_name))+
facet_grid(player_name~.)+
theme_gdocs()
去掉y軸的刻度標(biāo)簽
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())
更改坐標(biāo)軸的標(biāo)題
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")
給整幅圖添加一個標(biāo)題
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")
自定義填充的顏色并且更改圖例的標(biāo)題
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"))
大家可以自己從最基本的密度圖然后逐步向上疊加代碼看看效果關(guān)于怎樣使用R語言ggplot2畫山脊圖展示NBA球員出手距離的分布就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。