在Julia中使用Gadfly包时出错
我对朱莉娅很陌生。我尝试了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
代码: 我得到的错误是:
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))