这是一个相当基本的问题,但我想仔细判断一些东西.
我有一件从1970年到1999年的物品.有几年,我没有价值观(隐含的Nas).每年的统计被分成五年的间隔.五年的间隔是我的游戏情节中的一个方面.
当我制作情节时,我使用scales="free_x"
,目的是只在相关方面涵盖的年份获得x休息.我现在的问题是,丢失的年份没有显示出来.我想要的是在每个方面显示所有5个相关的年份/休息,而不仅仅是那些数据可用的那些.
我的问题是:我是正确的,我只能通过明确缺失的年份来补救这个问题,也就是. for each 缺失的年份创建0或NA值;还是通过创建有序因子并在x轴上打印它们的所有级别?
我只是感兴趣的是,没有更直接的方法来连续zoom ,特别是当我无论如何都有一个定义所有断点的矢量时.
下面是我的例子.非常感谢.
library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 4.2.1
#> Warning: package 'tibble' was built under R version 4.2.1
df_data <- data.frame(
year = c(1971L,1972L,1973L,1976L,1977L,1979L,
1980L,1981L,1982L,1983L,1989L,1990L,1991L,1992L,1993L,
1994L,1995L,1996L,1998L,1999L),
value = c(2L,3L,4L,7L,8L,10L,11L,12L,13L,14L,
20L,21L,22L,23L,24L,25L,26L,27L,29L,30L)
)
df_data <- df_data %>%
mutate(year_5=cut(year, breaks=c(Inf, seq(1970, 1999, 5)), right=T))
class(df_data$year)
#> [1] "integer"
df_data %>%
ggplot()+
geom_bar(aes(x=year, y=value),
stat="identity")+
facet_wrap(vars(year_5))
df_data %>%
ggplot()+
geom_bar(aes(x=year, y=value),
stat="identity")+
scale_x_continuous(breaks=seq(1970,1999,1))+
facet_wrap(vars(year_5),
scales="free_x")
创建于2022-09-17年第reprex v2.0.2页