在Julia中使用Gadfly包时出错

在Julia中使用Gadfly包时出错,julia,gadfly,Julia,Gadfly,我对朱莉娅很陌生。我尝试了Julia站点中发布的一个示例代码,它使用Gadfly演示绘图。然而,它给了我以下的错误。我相信所有相关软件包都已安装。 代码: 我得到的错误是: ERROR: PyError (:PyObject_Call) <type 'exceptions.ValueError'> ValueError('third arg must be a format string',) File "/System/Library/Frameworks/Python.fra

我对朱莉娅很陌生。我尝试了Julia站点中发布的一个示例代码,它使用Gadfly演示绘图。然而,它给了我以下的错误。我相信所有相关软件包都已安装。
代码:

我得到的错误是:

ERROR: PyError (:PyObject_Call) <type 'exceptions.ValueError'>
ValueError('third arg must be a format string',)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/pyplot.py", line 2987, in plot
    ret = ax.plot(*args, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/axes.py", line 4137, in plot
    for line in self._get_lines(*args, **kwargs):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/axes.py", line 317, in _grab_next_args
    for seg in self._plot_args(remaining, kwargs):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/axes.py", line 279, in _plot_args
    raise ValueError('third arg must be a format string')

 [inlined code] from /Users/mango/.julia/v0.4/PyCall/src/exception.jl:81
 in _pycall at /Users/mango/.julia/v0.4/PyCall/src/PyCall.jl:546
 in pycall at /Users/mango/.julia/v0.4/PyCall/src/PyCall.jl:568
 in plot at /Users/mango/.julia/v0.4/PyPlot/src/PyPlot.jl:395
错误:PyError(:PyObject\u调用)
ValueError('第三个参数必须是格式字符串',)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/matplotlib/pyplot.py”,绘图中第2987行
ret=最大绘图(*args,**kwargs)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/matplotlib/axes.py”,第4137行,在绘图中
对于自身中的行。获取行(*args,**kwargs):
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/matplotlib/axes.py”,第317行,在_grab_next_args中
对于seg in self.\u plot\u args(剩余,kwargs):
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/matplotlib/axes.py”,第279行,在绘图参数中
raise VALUERROR('第三个参数必须是格式字符串')
[内联代码]来自/Users/mango/.julia/v0.4/PyCall/src/exception.jl:81
在_pycallat/Users/mango/.julia/v0.4/pycall/src/pycall.jl:546中
在pycall的/Users/mango/.julia/v0.4/pycall/src/pycall.jl:568中
在plot at/Users/mango/.julia/v0.4/PyPlot/src/PyPlot.jl:395中

此示例代码有什么问题?

第二条注释确实是问题所在,但是至少在julia版本0.4中,如果您希望打开这两个包,您只需指定使用哪一个。因此,如果您使用了以下命令:

using PyPlot
using Gadfly
draw(SVG("output.svg", 6inch, 3inch), Gadfly.plot([sin, cos], 0, 25))

为我工作。通过这种方式,您可以指定正在为此特定绘图使用Gadfly包而不是PyPlot包,您可以尝试(a)退出并重新启动Julia,(b)运行
Pkg.update()
,(c)执行(b)然后(a)?您似乎正在调用与PyPlot关联的
plot
:尝试重新启动并仅加载Gadfly。我建议您在所有受支持的后端(包括Gadfly和PyPlot)上使用相同的一致API检查后端不可知标绘。
using PyPlot
using Gadfly
draw(SVG("output.svg", 6inch, 3inch), Gadfly.plot([sin, cos], 0, 25))