我正在融化数据框,以便在ggplot2中绘制它。然而,
geom_line()
没有给我水平线。相反,它正在将我的点转换为垂直线。我将附加图像并添加代码以进一步说明:
仅使用geom_point()
:
vecmmelt = melt(tail(tempdf,7), id.vars = "Date")
ggplot(vecmmelt, aes(x = Date, y = value, colour = variable, group=1)) +geom_point()+theme_bw()
现在,在使用geom_line()
时,我希望能有以下内容:
使用以下代码我真正得到的是以下图片:
vecmmelt = melt(tail(tempdf,7), id.vars = "Date")
ggplot(vecmmelt, aes(x = Date, y = value, colour = variable, group=1)) +geom_point()+geom_line()
我尝试使用geom_path()
,这也是错误的
答案 0 :(得分:0)
问题似乎在于您正在指定group=1
,它告诉ggplot连接所有点。正如Mario Barbé对类似问题的解释:
对于折线图,必须将数据点分组,以便知道要连接的点。在这种情况下,这很简单-应该连接所有点,所以组= 1。当使用更多变量并绘制多条线时,线的分组通常由变量完成。
参考:Cookbook for R, Chapter: Graphs Bar_and_line_graphs_(ggplot2), Line graphs.
因此,在您的情况下,您应指定group=variable
来解决此问题。