ashley
ashley

Reputation: 1565

Using spy() in Julia

I am trying to use spy(). But I am not getting the use of it right. I think my error has something to do with this: https://github.com/JuliaLang/julia/issues/2121

I have a 300x300 Array{Float64,2}

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

and it gives me this error:

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

I have tried specifying spy(I, zs=zeros(size(I)) but then I just get the error:

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

Any ideas?

Upvotes: 1

Views: 2273

Answers (1)

David P. Sanders
David P. Sanders

Reputation: 5325

spy shows the non-zero elements. Apparently it doesn't show anything if there are no non-zero elements.

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

works for me.

Upvotes: 2

Related Questions