Plot 朱莉娅:将函数的参数传递到函数中
我想知道Julia是否有一个简单的内置功能来传递函数中函数的参数 比如说, 我正在使用Gadfly,但我想创建一个函数,它可以生成一个特定的绘图,比如说,它可以生成一个已经指向绘图的折线图 因此,作为一个有效的例子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
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的任何其他绘图函数/参数。让我在桌面上尝试该功能,然后返回更新。