【问题标题】:Can't make a Line Graph with ggplot2 with missing values [duplicate]无法使用缺少值的ggplot2制作折线图[重复]
【发布时间】:2020-01-16 01:26:46
【问题描述】:

我想制作一个折线图,但它似乎无法以这种方式工作。只想要一个包含“total_index”列中缺失值的数据的连续折线图,但我无法让它工作。如果有人之前做过,请给我一个灯!

我试图在此图中找到两条线,但它仅适用于“累积”列。需要帮助处理另一列。

library(ggplot2)
library(dplyr)

graphdata <- readr::read_csv("animation_cumulative1.csv")

graphplot <- ggplot()+
  geom_line(data=graphdata, aes(x=year, y=total_index), color="Red")+
  geom_point()

print(graphplot)

Data with missing values

Plot result

【问题讨论】:

标签: r ggplot2 graph linegraph


【解决方案1】:

您应该在绘图之前对数据框进行子集化以删除 NA

library(ggplot2)
ggplot(subset(df, !is.na(total)), aes(x = year,y = total))+
  geom_line()+
  geom_point()

数据

structure(list(year = c(1922, 1924, 1929, 1933, 1934, 1945, 1946, 
1949, 1954), cum = c(23, 43, 50, 58, 88, 116, 120, 136, 141), 
    total = c(1060, NA, 1232, NA, NA, NA, NA, 1513, NA)), class = "data.frame", row.names = c(NA, 
-9L))

【讨论】:

  • 谢谢你的帮助,伙计!有没有一种快速的方法可以使用 .csv 中的所有值制作这些列表,还是您手动完成的?
  • 已经用 Python 做到了!
  • 抱歉,您在说什么清单?数据示例?如果是这样,我是手工制作的,然后写dput(df) 以准备好在此处共享 df 的结构。查看更多:stackoverflow.com/questions/5963269/…。此外,由于您是新贡献者,您还应该查看此链接:stackoverflow.com/help/someone-answers
  • 不是一个列表,而是一个像这样的连接函数:“c(1060, NA, 1232, NA, NA, NA, NA, 1513, NA)"。我在 python 中编写了一个程序,将 .csv 的列打印为列表,然后复制到这个 c() 函数中。
  • 我会检查推荐人。非常感谢!
猜你喜欢
  • 2021-09-23
  • 2021-12-10
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多