我正在遍历多个数据集以生成每个数据集的线图。我该如何预防 ggplot
从我使用时提示 geom_line
超过一分?
以以下数据为例:
mydata = data.frame(
x = c(1, 2),
y = c(2, 2),
group = as.factor(c("foo", "foo"))
)
创建折线图看起来和工作得很好,因为线中有两个点:
ggplot(mydata, aes(x = x, y = y)) +
geom_point() +
geom_line(aes(group = group))
但是,仅绘制第一行会给出以下信息:
geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
ggplot(mydata[1,], aes(x = x, y = y)) +
geom_point() +
geom_line(aes(group = group))
我的一些数字只有一点,并且这些消息会导致生成这些数字的更大脚本中的挂断。我知道这些情节仍然有效,所以我担心的是避免该消息。我也想避免使用
suppressWarnings()
如果可能,以防出现另一个合法和意外的问题。
最佳答案
根据对 this question 的回答:suppressMessages(ggplot()) 失败,因为您必须将它包装在 ggplot 对象的 print() 调用周围——而不是 ggplot 对象本身。这是因为警告/消息仅在绘制对象时发生。
因此,要在没有警告消息的情况下查看您的绘图,请运行:
p <- ggplot(mydata[1,], aes(x = x, y = y)) +
geom_point() +
geom_line(aes(group = group))
suppressMessages(print(p))
关于r - 仅用一点抑制来自 geom_line 的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37422114/