gpt4 book ai didi

r - 为什么从 geom_point 切换到 geom_line 时数据似乎丢失了?

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

我创建了一个大型数据框 (BEAVOutletWL_merge),我正在尝试生成从各个列中提取数据的图表。当我输入以下代码时:

BEAVbaro <- ggplot(BEAVOutletWL_merge, aes(x=DateTime,y=BaroPres_kpa)) +
geom_point(size = .01)+
labs(x=NULL, y="BaroPres_kpa") + ylim(98, 103)+
theme()+ggtitle("Beaver Marsh")
BEAVbaro

这是生成的情节:

enter image description here

但是,当我尝试使用此代码将其绘制为线图时:

BEAVbaro <- ggplot(BEAVOutletWL_merge, aes(x=DateTime,y=BaroPres_kpa)) +
geom_line(size = .5)+
labs(x=NULL, y="BaroPres_kpa") + ylim(98, 103)+
theme()+ggtitle("Beaver Marsh")
BEAVbaro

这个情节产生了:

enter image description here

我唯一改变的是“geom_point”到“geom_line”和大小(出于审美目的)但有谁知道为什么 01/22 和 07/22 之间的大块数据突然在线图上消失了?

谢谢!

最佳答案

因为 ggplot 在有 NA 值的行中留下空白,所以 NA 值两侧的点不会显示为 geom_line。示例:

library(ggplot2)
library(cowplot)
dd <- data.frame(x = 1:10,
y = c(1, NA, 3, NA, 5, NA, 7, NA, 9, 10))

gg0 <- ggplot(dd, aes(x,y))

plot_grid(gg0 + geom_point(), gg0 + geom_line())

enter image description here

如果您对线性插值没问题,您可以使用 na.omit() 解决这个问题:

gg0  %+% na.omit(dd) + geom_line()

enter image description here

这会很有趣,但比我现在有时间在每个 NA-flanked 数据点的位置绘制占位符(例如短的水平破折号)更具挑战性。 .)

关于r - 为什么从 geom_point 切换到 geom_line 时数据似乎丢失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73872493/

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