R 课程日期的反转轴
我正试图反转绘图的y轴。现在该列属于类R 课程日期的反转轴,r,ggplot2,R,Ggplot2,我正试图反转绘图的y轴。现在该列属于类date。数字列可以通过添加scale\u y\u reverse()或scale\u y\u continuous(trans=“reverse)来反转,但我似乎不知道如何从上到下转换:200520062007我无法将日期列转换为数字,因为我在原始绘图中有月的注释层 library(tidyverse) df <- structure(list(date = structure(c(12784, 13149, 13514), class = "Da
date
。数字列可以通过添加scale\u y\u reverse()
或scale\u y\u continuous(trans=“reverse)
来反转,但我似乎不知道如何从上到下转换:200520062007
我无法将日期列转换为数字,因为我在原始绘图中有月的注释层
library(tidyverse)
df <- structure(list(date = structure(c(12784, 13149, 13514), class = "Date"),
nr = c(1.14192497730255, 0.719137012958527, 1.3783597946167
)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-3L), .Names = c("date", "nr"))
# A tibble: 3 x 2
date nr
<date> <dbl>
1 2005-01-01 1.14
2 2006-01-01 0.719
3 2007-01-01 1.38
编辑
我也不能,因为我的专栏属于类date
,而不是POSIXct
:
错误:无效输入:time\u trans仅适用于POSIXct类对象
您可以创建一个新变量,年份为整数:
library(lubridate)
df %>%
mutate(Year = year(date)) %>%
ggplot(aes(Year, nr)) +
geom_col() +
coord_flip() +
scale_x_reverse()
如果不使用lubridate,请使用
Year=as.numeric(格式(日期,“%Y”))
您可以创建一个年为整数的新变量:
library(lubridate)
df %>%
mutate(Year = year(date)) %>%
ggplot(aes(Year, nr)) +
geom_col() +
coord_flip() +
scale_x_reverse()
不使用lubridate时,使用
Year=as.numeric(格式(日期,“%Y”))
df%>%ggplot(aes(as.numeric(日期))+geom_col()+coord_flip()+scale_x_reverse(标签=as.character(lubridate::Year(df$date)),breaks=as.numeric(df$date))
可能的重复项您可以添加一个需要分层的注释示例吗?可能有一些解决方法允许您转换数据的某些方面df%>%ggplot(aes(as.numeric(date),nr))+geom_col()+coord_flip()+scale_x_reverse(labels=as.character(lubridate::year(df$date)),breaks=as.numeric(df$date))
可能的重复项能否添加需要分层的注释示例?可能存在允许您转换数据某些方面的解决方法请参见我的解释,为什么我不能将值更改为年。在此解决方案中,值没有更改,我添加了一个临时值以绘制年。您仍然可以使用日期变量f或绘图中的其他图层。此解决方案确实符合您问题中的标准。请参阅我的解释,为什么我不能将值更改为年。在此解决方案中,值没有更改,我为绘图年添加了一个临时值。您仍然可以对绘图中的其他图层使用日期变量。此解决方案确实符合您问题中的标准。