繁体   English   中英

如何使用ggplot2绘制NA间隙

[英]how to plot NA gaps using ggplot2

在R中的基本绘图中,如果数据系列ggplot2中存在NA,则将绘制间隙:

举个例子看:

df=data.frame(x=c(1:10),y=c(1:10))
df[5:7,]=NA
plot(df,type="l")

但是,ggplot2会删除缺失值并绘制一条没有间隙的直线。

ggplot(data=df,aes(x,y))+geom_line()

我想保持差距。 它们是我正在使用的数据中的重要信息。 有没有一种简单的方法告诉ggplot2停止忽略差距?

geom_line替换geom_path

library(ggplot2)
ggplot(data = df, aes(x, y)) +
  geom_path()

在此输入图像描述

发生这种情况是因为您将x和y 设置为NA (并且ggplot2行为比基本绘图行为更明智。)如果只有y值是NA ,则会得到所需的行为。 这是一个解决方法:

df$g <- cumsum(apply(df, 1, anyNA))
ggplot(data=df,aes(x,y, group=g))+geom_line()

结果图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM