在康达上运行IJULIA.尝试绘制 Quandl 数据



以数据帧格式使用Google价格的简单示例。牛虻图给出以下错误:TypeError(u'There is no Line2D property "y"',) 。出于某种原因也引用了matplotlib。

代码如下:

using Quandl
using DataFrames
google = quandl("GOOG/NASDAQ_QQQ", format = "DataFrame")
date = google[1]
dt_str = Array(Any,length(date))
for i=1:length(date)
dt_str[i] = string(date[i]);
end
price = google[5]
using Gadfly
set_default_plot_size(20cm, 10cm)
p1 = plot(x=dt_str, y=price,
Geom.point, 
Geom.smooth(method=:lm),
Guide.xticks(ticks=[1:25]),
Guide.yticks(ticks=[1:25]),
Guide.xlabel("Date"), 
Guide.ylabel("Price"),
Guide.title("Google: Close Price"))

LoadError: PyError (:P yObject_Call(TypeError(u'没有 Line2D 属性 'y"',(  文件 "C:\Anaconda2\lib\site-packages\matplotlib\pyplot.py",第 3154 行,在 plot 中    ret = ax.plot(*args, **kwargs(  文件 "C:\Anaconda2\lib\site-packages\matplotlib\__init__.py",第 1811 行,在内部    return func(ax, *args, **kwargs(  文件 "C:\Anaconda2\lib\site-packages\matplotlib\axes\_axes.py",第 1424 行,在 plot 中    对于 self._get_lines 中的行(*args, **kwargs(:  文件 "C:\Anaconda2\lib\site-packages\matplotlib\axes\_base.py",第 395 行,_grab_next_args    对于 self._plot_args 中的 Seg(剩余[:isplit],Kwargs(:  文件 "C:\Anaconda2\lib\site-packages\matplotlib\axes\_base.py",第 374 行,_plot_args    Seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs(  文件 "C:\Anaconda2\lib\site-packages\matplotlib\axes\_base.py",第 281 行,_makeline    self.set_lineprops(赛格,**夸格斯(  文件 "C:\Anaconda2\lib\site-packages\matplotlib\axes\_base.py",第 189 行,set_lineprops    line.set(**kwargs(  文件 "C:\Anaconda2\lib\site-packages\matplotlib\artist.py",第 936 行,在集合中    (self.__class__.__姓名__,k((加载 In[64] 时,在从第 1 行开始的表达式中 in getindex at C:\Users\yburkitbayev\.julia\v0.4\PyCall\src\PyCall.jl:239

PyError 的存在对我来说意味着执行此示例的会话在加载 Gadfly 之前已经加载了 PyPplot。 PyPlot 和 Gadfly 都导出了 plot 函数,因此在同时加载了 PyPlot 和 Gadfly 的会话中使用 plot 需要使用包名称限定函数名称(例如 PyPlot.plot 或 Gadfly.plot(。

在尚未加载 PyPlot 但已加载牛虻的会话中执行您的示例,会产生牛虻图,而不会显示帖子中提供的错误消息。

最新更新