gpt4 book ai didi

R geom_path 行 "closing",有时。如何保留它们 "open"?

转载 作者:行者123 更新时间:2023-12-04 02:10:56 25 4
gpt4 key购买 nike

我正在使用 ggplot 的 geom_path() 绘制一系列财务预测。

ggplot(df,aes(year,pot,color=iRate)) + geom_path() +  theme(legend.position="none") + ylim(0,300000)

这就是我所拥有的..[抱歉这是一个链接]

problem graph

..其中两条路径在第 40 年触及右手边缘,但随后又回到了它们的起点。一行没有。这不是轴显示限制的问题,也不是数据框中的流氓线的问题 - 如果我删除所有年份 < 5,同样的事情会发生。这可能只是绘图设备负担过重的问题,但它是可重复的..

有一些问题询问如何“关闭”geom_path,但没有回答这个问题。如何确保路径保持“开放”状态?

inflation <- seq(1, 1.1, 0.02)
potGrowth <- seq(1.02, 1.1, 0.02)
div <- 10000
initcapital <- 100000
output <- numeric()
lifespan <- 40
delay <- 10
for(j in 1:length(inflation)){
str <- rep(0,lifespan)
for(i in delay:lifespan){ str[i] <- floor((inflation[j]^i)*div) }
for(k in 1:length(potGrowth)){
cap <- initcapital
for(i in 1:lifespan){
cap <- cap-str[i]; cap <- cap*potGrowth[k]
output <- append(output, floor(cap))
}
}
}
iLen <- length(inflation); gLen <- length(potGrowth)
simulations <- iLen*gLen
df <- data.frame(pot=output, projection=rep(1:simulations,each=lifespan), iRate=rep(inflation,each=lifespan*gLen), gRate=rep(rep(potGrowth,each=lifespan),times=iLen), year=rep(1:lifespan,times=simulations))

这里通过插入group=projection来解决

ggplot(df,aes(year,pot,color=iRate,group=projection)) + geom_path() ...

non-problem graph

最佳答案

感谢@aosmith 在您的评论中提到参数 group。这是一个可重现的示例,描述了空气质量数据集的路径关闭问题。假设您要绘制每个月各天的温度图表。将所有月份保持在同一个地 block 上(本着这些年度地 block 的精神:arcticseaicenews)。

单独使用 geom_path() 会导致在上个月的最后一天和下个月的第一天之间出现恼人的“关闭”行。

library(ggplot2)
ggplot(airquality, aes(x = Day, y = Temp)) +
geom_path()

No group

使用带有参数 group=Monthgeom_path() 可以防止这些行出现:

ggplot(airquality, aes(x = Day, y = Temp, group=Month)) +
geom_path()

group

当然,您也可以根据需要使用 facet_wrap 在不同的方面显示月份:

ggplot(airquality, aes(x = Day, y = Temp)) +
geom_path() +
facet_wrap(~Month)

关于R geom_path 行 "closing",有时。如何保留它们 "open"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38505412/

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