我从堆栈溢出中学到geom_path()
可以从同一行的不同数据部分删除该行。这意味着在整个红色行中,有一些其他颜色部分,如果没有此命令,则前一个蓝色部分的最后一个点将链接到下一个蓝色的第一个点。蓝色部分。代码和图片如下:
p6 <- ggplot(data = M1.m, mapping = aes(x = as.Date(M1_Date, format='%d/%m/%Y'),
y = M1_Value, color = factor(NewGroup))) + geom_path(aes(group = 1)) + geom_point(size = 0.5)
p6 <- p6 + labs(x = "Date", y = "Value") + labs(color = "Value Type")
p6
当我使用它们时,似乎间隔数据已经解决了这个问题,但是在第一个数据和最后一个数据之间有一条连线。你能告诉我如何删除它吗?
数据太大,因此我无法在此处链接表示抱歉,这是链接: Data
谢谢!
答案 0 :(得分:0)
geom_path()
用于根据数据帧中的数据顺序绘制线条。在我的问题中,列M1_value
包含两个具有相同周期的类型数据。因此,类型1中的最后一个数据紧挨类型中的第一个数据,这就是布线的原因。解决方案是在数据框中添加新列(例如type
),并在group = type
中添加aes()
以删除行。 (顺便说一句,此问题与记录每月温度相似,因为新月温度的第一天将与该月最后一天的温度相关联,而这类问题的关键是明确指定分类并将其分组使问题更加更容易。)
答案: 将以前的代码更改为:
p6 <- ggplot(data = M1.m, mapping = aes(x = as.Date(M1_Date, format='%d/%m/%Y'), y = M1_Value,
color = NewGroup, group = M1_Type)) + geom_path() + geom_point(size = 0.5)
p6 <- p6 + labs(x = "Date", y = "Value") + labs(color = "Value Type")
p6
,绘图变为: 因此,删除了有线线路。做完了! 感谢以下链接的帮助: R geom_path lines "closing", sometimes. How to keep them "open"?。