R数据可视化怎么实现NBA球员薪水排行榜
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"R数据可视化怎么实现NBA球员薪水排行榜",在日常操作中,相信很多人在R数据可视化怎么实现NBA球员薪水排行榜问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年12月02日R数据可视化怎么实现NBA球员薪水排行榜image.png 接下来制作动态的柱形图
这篇文章主要介绍"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安全错误
数据库的锁怎样保障安全
学校网络安全互动体验活动
软件开发工程师风险挑战
如何删除网络安全
软件开发劳务派遣能长期干吗
德州网络安全保卫支队高杨
数据库第四章
车型标准数据库
关于数据库表设计的书籍
国家推进网络安全社会化
jsp读取数据库的图片
校园有线无线网络安全保障措施
万网上如何 创建数据库
极差直销软件开发
软件开发代理需要什么
网络安全责任有
怎么查数据库资源使用情况
软件开发什么是b类产品
分机连接不到主机数据库
铁路网络安全相关案例
网络安全和黑客学的一样吗
销巴世界系统软件开发
临沂环保局网络安全
万方医学网的数据库设定
衡量社会责任数据库
服务器云价格
小程序频繁更新位置到数据库
游戏开发中客户端与服务器端
法人代表是网络安全第一责任人吗
河南星帆网络技术有限公司
软件开发部门一级部门职责