Plot 朱莉娅:将函数的参数传递到函数中

Plot 朱莉娅:将函数的参数传递到函数中,plot,parameter-passing,julia,Plot,Parameter Passing,Julia,我想知道Julia是否有一个简单的内置功能来传递函数中函数的参数 比如说, 我正在使用Gadfly,但我想创建一个函数,它可以生成一个特定的绘图,比如说,它可以生成一个已经指向绘图的折线图 因此,作为一个有效的例子 using Gadfly, Random Random.seed!(50) x = randn(10) y = 10 * x .+ 2 .+ randn(10)/10 function dummy1(x, y; plotOptionsToPass...) plot(x = x

我想知道Julia是否有一个简单的内置功能来传递函数中函数的参数

比如说,

我正在使用Gadfly,但我想创建一个函数,它可以生成一个特定的绘图,比如说,它可以生成一个已经指向绘图的折线图

因此,作为一个有效的例子

using Gadfly, Random
Random.seed!(50)
x = randn(10)
y = 10 * x .+ 2 .+ randn(10)/10
function dummy1(x, y; plotOptionsToPass...)
    plot(x = x, y = y, Geom.point, Geom.line; plotOptionsToPass...)
end
我希望能够传递所有不同类型的牛虻图选项,例如

dummy1(x, y; Theme(panel_fill = nothing))
因此它使dummy1函数变成

plot(x = x, y = y, Geom.point, Geom.line; Theme(panel_fill = nothing))

无需我预先指定所有类型的选项,Gadfly允许
plot()
使用

不确定您想要的是什么,但是您可以在
dummy1
中定义一个新函数并返回它,这可能会有所帮助。重新运行的函数将使用较少的参数<代码>dummy1成为绘图函数“构造函数”

function dummy1(;plotOptionsToPass...)
    function foo(x, y) 
        plot(x = x, y = y, Geom.point, Geom.line; plotOptionsToPass...)
    end 
    return foo
end 

# create new drawing function
new_artist = dummy1(Theme(panel_fill = nothing))
# draw something
new_artist(x, y) 

你好@EPo,谢谢你的回答。我尝试使用上面的语法,但出现了以下错误<代码>错误:MethodError:没有与dummy1(::主题)匹配的方法最近的候选对象是:dummy1(;plotOptionsToPass…)位于REPL[5]:2 Stacktrace:[1]顶层作用域位于none:0。也许要澄清一下,我只是想创建一个函数,用线连接点来绘制散点图,但也允许我指定
plot()
接受Gadfly的任何其他绘图函数/参数。让我在桌面上尝试该功能,然后返回更新。