下面是一个几乎完全符合我想要的情节的示例代码.根据下面定义的minor_breaks,我想要添加的唯一内容是x轴上的刻度线(与主刻度相同的大小).
df <- data.frame(x = c(1900,1950,2000), y = c(50,75,60))
p <- ggplot(df, aes(x=x, y=y))
p + geom_line() +
scale_x_continuous(minor_breaks = seq(1900,2000,by=10), breaks = seq(1900,2000,by=50), limits = c(1900,2000), expand = c(0,0)) +
scale_y_continuous(breaks = c(20,40,60,80), limits = c(0,100)) +
theme(legend.position="none", panel.background = element_blank(),
axis.line = element_line(color='black'), panel.grid.minor = element_blank())
Run Code Online (Sandbox Code Playgroud)
在此先感谢, - .JT
我想要那些在刻面网格中带有标签的刻度线。所以我完成了这次尝试,并尝试将其调整为像这样的分面网格图:
定义中断和标签,次要和主要:
range.f <- range(unique(df1$weeks))
minor.f <- 1 # every 1 week, NOTE: range.f[2] should be divisible by minor.f!
major.f <- 5 # every 5 weeks
breaks.f <- seq(range.f[1], range.f[2], minor.f)
every_nth.lt <- function (x, nth) {x[1:nth != 1] <- ""; x}
# (lite version of /sf/answers/2417343141/
# works better for me than `insert_minor()`)
labels.f <- every_nth.lt(sequence(range.f[2]), major.f)
n_minor.f <- major.f / minor.f - 1
Run Code Online (Sandbox Code Playgroud)
正常情节:
library(ggplot2)
p.f <- ggplot(df1, aes(weeks, births)) +
geom_bar(stat="identity", fill="#F48024") + theme_bw() + …Run Code Online (Sandbox Code Playgroud)