Plot Julia图函数数组问题

Plot Julia图函数数组问题,plot,julia,gadfly,Plot,Julia,Gadfly,来自Matlab,我正在努力找出以下不起作用的原因: plot(x=rand(10),y=rand(10)) 正确生成图形 x=rand(10) y=rand(10) plot(x,y) 产生错误: 错误:plot没有方法匹配plot(::数组(Float64,1),::数组(Float64,1)) 如果有人能向我解释为什么在绘图线中嵌入代码会产生结果,但事先定义变量会导致错误,我将不胜感激。逻辑上说,它们应该产生相同的结果 我使用的是Julia v 0.3.1,并加载了Gadfly作为图表

来自Matlab,我正在努力找出以下不起作用的原因:

plot(x=rand(10),y=rand(10))
正确生成图形

x=rand(10)
y=rand(10)
plot(x,y)
产生错误:

错误:
plot
没有方法匹配plot(::数组(Float64,1),::数组(Float64,1))

如果有人能向我解释为什么在绘图线中嵌入代码会产生结果,但事先定义变量会导致错误,我将不胜感激。逻辑上说,它们应该产生相同的结果


我使用的是Julia v 0.3.1,并加载了Gadfly作为图表工具。

在第一种情况下,您使用的是关键字参数语法,而不是赋值给变量
x
y
(函数调用中
=
的含义是特殊的)。为了在第二种情况下获得相同的效果,您应该使用

x=rand(10)
y=rand(10)
plot(x=x,y=y)

它将关键字参数
x
中变量
x
中的值传递到
plot
,如果没有传递,则将关键字参数
y
中变量
y
中的值传递到
plot
。在编写代码之前编写以下内容:

using plots
plyplot()

正如Toivo的回答所指出的那样,这得到了语法上的理解。但更一般地说,您使用的绘图软件包可能与您熟悉的语法不同。例如,Winston——更像MATLAB——使用plot(x,y)绘制线连接的点,就像MATLAB一样,plot(x,y,“o”)绘制散点图。而牛虻则用plot(x=x,y=y,Geom.line)绘制线图,用plot(x=x,y=y)绘制散点图。或者,PyPlot比Gadfly更类似于MATLAB。