Использование spy() в Джулии

Я пытаюсь использовать шпион(). Но я не получаю использовать его правильно. Я думаю, что моя ошибка как-то связана с этим: https://github.com/JuliaLang/julia/issues/2121

У меня есть массив 300x300{Float64,2}

using PyPlot
pygui(true)
spy(I) # where I is my 300x300 array

и это дает мне эту ошибку:

LoadError: PyError (:PyObject_Call) <type 'exceptions.TypeError'>
TypeError("object of type 'PyCall.jlwrap' has no len()",)
  File "/home/ashley/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/matplotlib/pyplot.py", line 3154, in plot
    ret = ax.plot(*args, **kwargs)
  File "/home/ashley/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/mpl_toolkits/mplot3d/axes3d.py", line 1539, in plot
    zs = np.ones(len(xs)) * zs

Я пытался указать spy(I, zs=zeros(size(I)), но потом просто получаю сообщение об ошибке:

LoadError: ArgumentError: function spy does not accept keyword arguments
while loading In[260], in expression starting on line 13

Любые идеи?


person ashley    schedule 16.11.2015    source источник
comment
Я проверил ваш код в julia-v0.4 без ошибок, но шпион просто ничего не нарисовал.   -  person Gnimuc    schedule 16.11.2015


Ответы (1)


spy показывает ненулевые элементы. По-видимому, он ничего не показывает, если нет ненулевых элементов.

M = sprand(300, 300, 0.1)  # generate a sparse matrix with density 0.1 of non-zeros
M = full(M)
spy(M)

работает на меня.

person David P. Sanders    schedule 16.11.2015
comment
Спасибо - это работает для меня. Но только когда я использую терминальную версию Джулии. Когда я пытаюсь запустить его в скрипте с помощью редактора (пока возвышенного и vim), он строится, но ничего не происходит, т.е. ничего не отображается. Я знаю, что это отдельный вопрос, поэтому, пожалуйста, просто скажите, если вы предпочитаете, чтобы я начал другую тему, но как мне сделать это с помощью редактора? - person ashley; 19.11.2015
comment
Я предполагаю, что это связано с тем, знает ли редактор, как взаимодействовать с графическим пакетом. Я бы порекомендовал Jupyter Notebook для такого рода интерактивных графиков. - person David P. Sanders; 19.11.2015
comment
Я хотел бы найти простой способ сделать Юлю без блокнота. Но я слышу вас - спасибо. - person ashley; 23.11.2015
comment
не использовал интерактивный режим с IJulia. Добавление plt[:show]() в конце сделало свое дело. - person ashley; 23.11.2015