从不同行数的数据中,在同一图表上绘制两条线的ggplot

问题描述 投票:0回答:1

我总是遇到这样的问题,我需要在图表上绘制两条线,但我的数据中的行数不一样。 我一直收到这个错误,我希望能一劳永逸地解决这个问题。

错误: (由警告转换而来)删除了5条包含缺失值的行(geom_path)。

这里是一些样本数据(我没有手动添加NAs)。

datamre <- structure(list(xR = c(0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 
10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 
23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, NA, NA, NA, NA), received = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1666667, 0.1666667, 0.1666667, 
0.1666667, 0.1666667, 0.1666667, 0.1666667, 0.1666667, 0.1666667, 
0.1666667, 0.1666667, 0.1666667, 0.1666667, 0.1666667, 0.1666667, 
0.1666667, 0.1666667, 0.1666667, 0.1666667, 0.1666667, NA, NA, 
NA, NA), xD = 0:34, demand = c(0, 0.08333333, 0.08333333, 0.08333333, 
0.08333333, 0.08333333, 0.08333333, 0.08333333, 0.16666667, 0.25, 
0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 
0.25, 0.25, 0.25, 0.25, 0.33333333, 0.33333333, 0.33333333, 0.33333333, 
0.33333333, 0.33333333, 0.33333333, 0.41666667, 0.41666667, 0.41666667
)), row.names = c(NA, 35L), class = "data.frame")

以及我使用的简单代码。

df <- data.frame(datamre)
ggplot(df) +
   geom_line(aes(xR,received)) +
   geom_line(aes(xD,demand)) 
r ggplot2 charts
1个回答
1
投票

试试这个。

ggplot(df[complete.cases(df),]) +
  geom_line(aes(xR,received)) +
  geom_line(aes(xD,demand))
© www.soinside.com 2019 - 2024. All rights reserved.