问题描述
数据集中的前五个条目(二十个条目):
>head(data)
Name SDC
<chr> <Period>
1 Feuerman 1M 37S
2 Solis 1M 52S
3 Osborne 1M 47S
4 Frizzell 1M 58S
5 Moran 1M 59S
也:
> dput(head(data))
structure(list(Name = c("Feuerman","Solis","Osborne","Frizzell","Moran","Seth"),Deadlift = c(320,250,340,200),Medicine_Ball = c(11.6,8.8,12.5,9.2,9.7,9.1),HRP = c(46,39,36,33,42,31),SDC = new("Period",.Data = c(37,52,47,58,59,15),year = c(0,0),month = c(0,day = c(0,hour = c(0,minute = c(1,1,2)),Leg_Tuck = c(20,13,4,10,13),Run = new("Period",.Data = c(48,53,29),minute = c(13,12,17,16,16)),Total = c(570,508,513,470,410,452),Pass_Fail = structure(c(1L,1L,2L,1L),.Label = c("Pass","Fail"),class = "factor"),Date = structure(c(18522,18522,18522
),class = "Date")),row.names = c(NA,-6L),class = c("tbl_df","tbl","data.frame"))
如您所见,SDC
的格式为minutes:seconds
。我使用ms(data$SDC)
来更改列类型。我正在尝试使用geom_col
创建一个从最低时间到最高时间对SDC
进行排序的图。我面临两个问题:
- 使用
reorder
命令时,时间未正确重新排序(请参见下图)。 - 正在使用
hour:minute:second
格式化轴,但我希望仅将其格式化为minute:second
格式(另请参见下图)。
这是我生成情节的代码:
ggplot(data=data,aes(x=reorder(Name,-SDC),y=SDC,fill=Pass_Fail)) +
scale_y_time(limits=c(0,200)) +
scale_fill_manual(values=c('#00BFC4','#F8766D')) +
labs(x='Soldier',y='Sprint Drag Carry Time',fill='Passed/Failed ACFT',title='Sprint Drag Carry Scores') +
geom_col() +
geom_text(size=3,aes(label = SDC),hjust=-0.04) +
coord_flip() +
theme_classic()
它产生以下图:
如您所见,重新排序不正确,并且轴未按照我希望的方式进行格式化。预先感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)