gpt4 book ai didi

r - 如何将基于不同数据集的图层与 R 中的 ggplot2 组合

转载 作者:行者123 更新时间:2023-12-02 08:02:22 26 4
gpt4 key购买 nike

我想制作一个图表,显示一个时间序列,然后是一组预测分布,每个预测分布都表示为 fiddle 图。下面的示例代码分别创建并绘制时间序列(作为线图)和两个 fiddle 图。

set.seed(12345)
x <- data.frame(time=1:50, dat=rnorm(50))

y1 <- rnorm(500)
y2 <- rnorm(500, sd=5)
y <- data.frame(time=as.factor(c(rep(51,500),rep(52,500))), dat=c(y1,y2))

ggplot(x, aes(x=time, y=dat)) +
geom_line()

ggplot(y, aes(x=time, y=dat)) +
geom_violin()

我如何将这些组合成一个图表,其中包含时间点 1 到 50(沿 x 轴)的线图,然后分别是时间点 51 和 52 的两个 fiddle 图?

最佳答案

我不确定您是否可以在同一轴上绘制离散变量和连续变量。所以你必须妥协。 Markus 选择离散化 x 变量,而我更喜欢将 y 变量设为连续变量。请注意,我已经更改了 y 的生成方式(删除了因子)。

library(ggplot2)

set.seed(12345)
x <- data.frame(time=1:50, dat=rnorm(50))

y1 <- rnorm(500)
y2 <- rnorm(500, sd=5)
y <- data.frame(time=c(rep(51, 500), rep(52, 500)), dat=c(y1,y2))

ggplot(x, aes(x = time, y = dat)) +
theme_bw() +
scale_x_continuous(limits = c(0, 52)) +
geom_line() +
geom_violin(data = y, aes(group = as.factor(time)))

enter image description here

关于r - 如何将基于不同数据集的图层与 R 中的 ggplot2 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55807245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com