为什么ggplot在R中的这个函数中绘制了错误的图形

时间:2014-08-24 18:14:06

标签: r ggplot2

我使用以下函数和代码绘制图表:

myfn2 = function(ddf, i, j, k){
    p = ggplot()+
        geom_point(aes(x=ddf[,i],y=ddf[,j], shape=ddf[,k], color=ddf[,k]))+
        labs(x=names(ddf)[i], y=names(ddf)[j])
    print(p)
}

myfn2(iris, 1,2,5)

但是,图表不正确:

enter image description here

正确的图表应为:

enter image description here

如何纠正?另外如何纠正传奇的标题?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

你可以尝试

    # ...
    geom_point(data = ddf, aes_string(x = names(ddf)[i], 
                                      y=names(ddf)[j], 
                                      shape=names(ddf)[k], 
                                      color=names(ddf)[k])) +
    # ...