2015-11-16 3 views
1

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

У меня есть 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 

Любые идеи?

+0

Я проверил ваш код в julia-v0.4 без ошибок, но шпион просто ничего не рисовал. – Gnimuc

ответ

0

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

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

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

+0

Спасибо - это работает для меня. Но только когда я использую терминальную версию julia. Когда я пытаюсь запустить его в скрипте с помощью редактора (до сих пор возвышенного и vim), он строит, но ничего не происходит - т. Е. Ничего не показывает. Я знаю, что это отдельный вопрос, поэтому просто скажите, хотите ли вы начать другой поток, но как это сделать с помощью редактора? – ashley

+0

Я предполагаю, что это связано с тем, знает ли редактор, как взаимодействовать с графическим пакетом. Я бы рекомендовал Jupyter Notebook для такого интерактивного графического интерфейса. –

+0

Я хотел бы найти простой способ сделать Джулию без ноутбука. Но я слышу вас - спасибо. – ashley