The Python package mpl_toolkits.mplot3d could not be found by pyimport. Usually this means that you did not install mpl_toolkits.mplot3d in the Python version being used by PyCall. PyCall is currently configured to use the Julia-specific Python distribution installed by the Conda.jl package. To install the mpl_toolkits.mplot3d module, you can use pyimport_conda("mpl_toolkits.mplot3d", PKG), where PKG is the Anaconda package the contains the module mpl_toolkits.mplot3d, or alternatively you can use the Conda package directly (via using Conda followed by Conda.add etcetera). Alternatively, if you want to use a different Python distribution on your system, such as a system-wide Python (as opposed to the Julia-specific Python), you can re-configure PyCall with that Python. As explained in the PyCall documentation, set ENV[“PYTHON”] to the path/name of the python executable you want to use, run Pkg.build(“PyCall”), and re-launch Julia.
I would be happy to get it running and reproduce the plot.
You might find a solution here. Maybe the very last one from stevengj.
EDIT: As @ChrisRackauckas mentioned, at least for beginners, PyPlot is probably not the best package for plotting in Julia as one can easily run into installation problems.
Ehh, I would still just try to avoid Python packages. They seem so unpredictable and tough to install. Using GR or Plotly avoids Python and thus avoids all of the issues that Conda/pip have.
I don’t disagree that one can easily run into installation problems with PyPlot and didn’t make a recommendation. My link is simply supposed to help him and anyone who wants to use PyPlot (maybe for a good reason).
(BTW: I almost exclusively use PyPlot for all my work because I know matplotlib inside out and in my eyes there is no pure Julia equivalent yet.)
It seems to run on some computers. But the error message I usually get on my computer is
LoadError:
(::Atom.##110#114{String,String})() at eval.jl:104
withpath(::Atom.##110#114{String,String}, ::String) at utils.jl:30
withpath(::Function, ::String) at eval.jl:38
didWriteToREPL(::Atom.##109#113{String,String}) at repl.jl:129
hideprompt(::Atom.##109#113{String,String}) at repl.jl:65
macro expansion at eval.jl:99 [inlined]
(::Atom.##108#112{Dict{String,Any}})() at task.jl:80