R数据可视化怎么实现NBA球员薪水排行榜
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍"R数据可视化怎么实现NBA球员薪水排行榜",在日常操作中,相信很多人在R数据可视化怎么实现NBA球员薪水排行榜问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年01月25日R数据可视化怎么实现NBA球员薪水排行榜
这篇文章主要介绍"R数据可视化怎么实现NBA球员薪水排行榜",在日常操作中,相信很多人在R数据可视化怎么实现NBA球员薪水排行榜问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"R数据可视化怎么实现NBA球员薪水排行榜"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
import math
import requests
from bs4 import BeautifulSoup
headers = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
fw = open('NBA_salary_3.txt','w')
fw.write('%s\t%s\t%s\t%s\t%s\t%s\n'%("year","rk","player","position","team","salary"))
years = list(range(2000,2021))
for year in years:
URL = "http://www.espn.com/nba/salaries/_/year/" + str(year)
print(URL)
page = requests.get(URL,headers=headers)
soup = BeautifulSoup(page.content,'html.parser')
df = soup.find_all('tr')
j = 0
for aa in df:
j = j + 1
if j == 1:
continue
elif j > 1 and j < 12:
all_td = aa.find_all('td')
rk = all_td[0].get_text()
player_position = all_td[1].get_text()
#print(player_position)
player = player_position.split(",")[0]
position = player_position.split(",")[1]
team = all_td[2].get_text()
salary = all_td[3].get_text().replace("$","").replace(",","")
fw.write('%s\t%s\t%s\t%s\t%s\t%s\n'%(str(year),rk,player,position,team,salary))
else:
break
fw.close()
首先来看看2020年薪资排行榜top10library(ggplot2)
ggplot(df1,aes(x=rk,y=salary))+
geom_col(aes(fill=player))+
geom_label(aes(label=paste0(salary,"万"),hjust=1))+
theme_bw()+
scale_x_continuous(breaks = 1:10,labels = df1$player)+
coord_flip()+labs(x="",y="")+
theme(legend.position = "none")
接下来制作动态的柱形图使用的工具是R语言的gganimate包
用到的代码是
df<-read.csv("NBA_salary_3.txt",header=T,sep="\t",stringsAsFactors = F)
df$salary<-df$salary/10000
head(df)
library(tidyquant)
x1<-palette_dark()
colors<-matrix(x1)[,1][1:10]
colors<-sample(colors,69,replace = T)
colors
library(ggplot2)
staticplot = ggplot(df, aes(rk, group = player,
fill = as.factor(player),
color = as.factor(player))) +
geom_tile(aes(y = salary/2,
height = salary,
width = 0.9), alpha = 0.8, color = NA) +
geom_text(aes(y = 0, label = paste(player, " ")), vjust = 0.2,
hjust = 1,color="black") +
geom_text(aes(y=salary,label = salary, hjust=0),color="black") +
scale_fill_manual(values = colors)+
coord_flip(clip = "off", expand = FALSE) +
scale_y_continuous(labels = scales::comma) +
scale_x_reverse() +
guides(color = FALSE, fill = FALSE) +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.grid.major.x = element_line( size=.1, color="grey" ),
panel.grid.minor.x = element_line( size=.1, color="grey" ),
plot.title=element_text(size=25, hjust=0.5, face="bold", colour="grey", vjust=-1),
plot.subtitle=element_text(size=18, hjust=0.5, face="italic", color="grey"),
plot.caption =element_text(size=8, hjust=0.5, face="italic", color="grey"),
plot.background=element_blank(),
plot.margin = margin(2,2, 2, 4, "cm"))
staticplot
library(gganimate)
help(package="gganimate")
anim = staticplot + transition_states(year,
transition_length = 4,
state_length = 1) +
view_follow(fixed_x = TRUE) +
labs(title = 'NBA player Salary : {closest_state}',
subtitle = "Top 10 Players",
caption = "Data Source: http://www.espn.com/nba/salaries")
animate(anim, 300, fps = 10, duration = 20,
width = 1200, height = 1000,
renderer = ffmpeg_renderer()) -> for_mp4
anim_save("animation_6.mp4", animation = for_mp4 )
到此,关于"R数据可视化怎么实现NBA球员薪水排行榜"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
排行榜
数据
球员
薪水
可视化
学习
接下来
更多
帮助
实用
代码
动态
工具
文章
方法
理论
知识
篇文章
网站
薪资
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库连接池 druid
北冥我的世界服务器
手机软件开发师培训
奋斗软件开发
淘宝订单数据用的什么数据库
用户相关数据库设计
如何制作数据库平台
网络技术第三次浪潮
互联网科技风模板
公证处清洁服务器
node数据库
赣州服务器维保
nas服务器安全密码
众包用于软件开发
为什么光遇连接不了服务器
黑暗之魂三数据库
装饰工程管理软件开发
csharp 数据库编辑器
上海中搜网络技术
数据库查询时间在四月份的语句
网络安全运维学习
服务器拓机
文山服务器显卡经销商
CBM是一个专业型数据库
改机型数据库
深圳天拓网络技术有限公司
网络安全交接班工作程序
万方的数据库查重
我国网络安全保护的方针
ipad平板服务器出错