轴和绘图填充区域之间的填充区域(ggplot2)
Fill area between axis and plot fill area (ggplot2)
我正在使用此代码:
library(tidyverse)
set.seed(143)
series <- data.frame(
time = c(rep(2017, 4),rep(2018, 4), rep(2019, 4), rep(2020, 4)),
type = rep(c('a', 'b', 'c', 'd'), 4),
value = rpois(16, 10)
)
plot1 <- ggplot(series, aes(time, value)) +
geom_area(aes(fill = type))
plot2 <- ggplot(series, aes(time, value)) +
geom_area(aes(fill = type)) +
scale_x_continuous(limits=c(2018, 2020), breaks=seq(2014, 2021, by=1))
对于plot2
,如何将x=2018和y轴之间的'fill'展开?我不想看到 2017 本身(如 plot1
),但我希望在 y 轴(比如 x=2017.8)和 x=2018 之间看到这个 'fill'。
我尝试了 limits=c(2017.8, 2020)
,但没有成功。
编辑
这就是我要找的:
您可以使用扩展:
plot2 <- ggplot(series, aes(time, value)) +
geom_area(aes(fill = type)) +
scale_x_continuous(limits=c(2018, 2020), breaks=seq(2014, 2021, by=1))
plot2 + scale_x_continuous(expand = c(0,0))
如果您想通过加法扩大规模:
plot2 + scale_x_continuous(expand = expansion(add = c(-0.2,0)))
ggplot(series, aes(time, value)) +
geom_area(aes(fill = type)) +
coord_cartesian(xlim=c(2017.8, 2020)) +
scale_x_continuous(breaks=seq(2018, 2021, 1))
给予
coord_cartesian()
在计算中包含 所有 输入数据(平滑、插值等),生成绘图,然后根据要求裁剪生成的图像。相反,lims()
、xlim()
和 ylim()
等将超出请求限制的点设置为 NA
在 执行计算和构建绘图之前.
我正在使用此代码:
library(tidyverse)
set.seed(143)
series <- data.frame(
time = c(rep(2017, 4),rep(2018, 4), rep(2019, 4), rep(2020, 4)),
type = rep(c('a', 'b', 'c', 'd'), 4),
value = rpois(16, 10)
)
plot1 <- ggplot(series, aes(time, value)) +
geom_area(aes(fill = type))
plot2 <- ggplot(series, aes(time, value)) +
geom_area(aes(fill = type)) +
scale_x_continuous(limits=c(2018, 2020), breaks=seq(2014, 2021, by=1))
对于plot2
,如何将x=2018和y轴之间的'fill'展开?我不想看到 2017 本身(如 plot1
),但我希望在 y 轴(比如 x=2017.8)和 x=2018 之间看到这个 'fill'。
我尝试了 limits=c(2017.8, 2020)
,但没有成功。
编辑
这就是我要找的:
您可以使用扩展:
plot2 <- ggplot(series, aes(time, value)) +
geom_area(aes(fill = type)) +
scale_x_continuous(limits=c(2018, 2020), breaks=seq(2014, 2021, by=1))
plot2 + scale_x_continuous(expand = c(0,0))
如果您想通过加法扩大规模:
plot2 + scale_x_continuous(expand = expansion(add = c(-0.2,0)))
ggplot(series, aes(time, value)) +
geom_area(aes(fill = type)) +
coord_cartesian(xlim=c(2017.8, 2020)) +
scale_x_continuous(breaks=seq(2018, 2021, 1))
给予
coord_cartesian()
在计算中包含 所有 输入数据(平滑、插值等),生成绘图,然后根据要求裁剪生成的图像。相反,lims()
、xlim()
和 ylim()
等将超出请求限制的点设置为 NA
在 执行计算和构建绘图之前.