2017-10-09 177 views
0

这里是我试图绘制的一些测试数据。颜色到线图/散点图

x_vals = seq(0,6,by=.1) 

df <- data.frame(lambda=rep(NA), x=rep(NA), y=rep(NA)) 

iter <- 1 
for (lambda in seq(0,3,by=.5)){ 
    for (val in 1:length(x_vals)){ 
    x = x_vals[val] 
    y = x**2 + 1 + lambda*(x**2 - 6*x + 8) 
    df[iter,1] = lambda 
    df[iter,2] = x 
    df[iter,3] = y 
    iter = iter + 1 
    } 
} 

我想要的是不同颜色的lambda不同值的单独线条图。现在我正在努力让r甚至绘制多行。

我怀疑我错过了几个参数或行:

ggplot(df, aes(x, y, colour=lambda)) + 
    geom_point() 
+0

使用你的代码我得到了单独的虚线,这些虚线被lambda上色/着色。你重新启动R并尝试过吗? – steveb

+0

另外,我只是剪切/粘贴你的代码。 – steveb

+0

对不起 - 让我澄清我的问题...我想要连接不同点的线由lambda – AZhao

回答

1

你可以做到以下几点:

ggplot(df, aes(x, y, colour=lambda)) + 
    geom_point() + 
    geom_line(aes(group=lambda)) 

ggplot(df, aes(x, y, colour=lambda, group=lambda)) + 
    geom_point() + 
    geom_line() 

输出与如下根据lambda分组绘制线条。

enter image description here