gpt4 book ai didi

r - 是否可以在 ggplot2 中创建具有不同颜色的平滑、大的 geom_line()?

转载 作者:行者123 更新时间:2023-12-04 01:23:18 24 4
gpt4 key购买 nike

我原本打算为此功能使用功能区,但功能区给我一个“功能区内的美学不能变化”的错误。我尝试了 geom_smooth、geom_ribbon 和 geom_line,但它们都无法满足我的需要。下面张贴的图片是我所需要的,除了我希望线条改变颜色的地方之间的那些方形接头是垂直和齐平或圆形。

我已经看过这些帖子了:

Shade Fill or Cover Area Density Under Curve

R ggplot Issue When Using Group Interaction

我还尝试过以几种不同的方式使用组。我应该提一下,我对 ggplot2 和 R 一般都是非常陌生的,所以任何帮助或可能的途径将不胜感激。我一直在使用这些资源,您可能会发现它们对解决这个问题或您自己的问题很有用:

R For Data Science

GGPlot2: Elegant Graphics For Data Analysis

GGPlot2 Documentation

R Cookbook

代码:

library(ggplot2)

pdf("ggplot_learning.pdf")

data <- data.frame(
xvals = c(0:5),
yvals = c(4, 5, 4.5, 5.5, 5, 6),
lower = c(3.9, 4.9, 4.4, 5.4, 4.9, 5.9),
upper = c(4.1, 5.1, 4.6, 5.6, 5.1, 6.1)
)


plot <- ggplot(data, aes(xvals, yvals, ymax = 8, xmax = 8)) +
geom_line(aes(color = yvals, alpha = .3), lwd = 10) +
geom_line(aes(color = yvals)) +
theme(legend.position = "none")

print(plot)

我目前拥有的:

Graph With Rough Idea of What I Need

最佳答案

我不确定,但也许是这样:

data2 <- rbind(data, data[-1,]) 
data2 <- data2[order(data2$xvals),]
data2$n <- factor(head(rep(1:6, each=2),-1))

ggplot(data2, aes(xvals, yvals,color=n, fill=n, group=n)) +
geom_line() +
geom_ribbon(aes(ymin=lower, ymax=upper), alpha = 0.5)

enter image description here

由于您需要为 geom_ribbon 函数分组,因此您需要指定每个部分。因此,从 0 到 1,从 1 到 2 ...因此,我 rbind 数据两次,根据 x 排序并添加分组因子 n

关于r - 是否可以在 ggplot2 中创建具有不同颜色的平滑、大的 geom_line()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62284844/

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