来自Matlab我正在努力解决为什么以下不起作用:
plot(x=rand(10),y=rand(10))
Run Code Online (Sandbox Code Playgroud)
正确生成图表.
x=rand(10)
y=rand(10)
plot(x,y)
Run Code Online (Sandbox Code Playgroud)
产生错误:
错误:
plot没有方法匹配plot(:: Array(Float64,1),:: Array(Float64,1))
如果有人可以向我解释为什么在绘图行中嵌入代码会产生结果,我会非常感激,但事先定义变量会导致错误.逻辑说他们应该产生相同的结果.
我正在使用Julia v 0.3.1并将Gadfly加载为图表工具.
在第一种情况下,您使用的关键字参数的语法,而不是分配给变量x和y(含义=内部函数调用是特殊的).要在第二种情况下获得相同的效果,您应该使用
x=rand(10)
y=rand(10)
plot(x=x,y=y)
Run Code Online (Sandbox Code Playgroud)
它将x关键字参数中的变量值传递x给plot,以及关键字参数中变量y中的值y.