JuliaPy / PyPlot.jl

Plotting for Julia based on matplotlib.pyplot
https://github.com/JuliaPy/PyPlot.jl
MIT License
478 stars 88 forks source link

0.7 Issue: UndefVarError: latexstring not defined error when trying to use log scale #386

Closed gideonsimpson closed 6 years ago

gideonsimpson commented 6 years ago

I'm not sure if this is a PyPlot issue or a Plots.jl issue, but the following code:

using Plots; pyplot()
x = range(1,length=100,stop=100)
y = x.^2;
plot(x,y, xscale=:log10)

generates the error:

UndefVarError: latexstring not defined

Stacktrace:
 [1] (::getfield(Plots, Symbol("##472#475")))(::String) at /Users/guardian/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:242
 [2] iterate at ./generator.jl:47 [inlined]
 [3] _collect(::Array{String,1}, ::Base.Generator{Array{String,1},getfield(Plots, Symbol("##472#475"))}, ::Base.EltypeUnknown, ::Base.HasShape{1}) at ./array.jl:632
 [4] collect_similar(::Array{String,1}, ::Base.Generator{Array{String,1},getfield(Plots, Symbol("##472#475"))}) at ./array.jl:561
 [5] map(::Function, ::Array{String,1}) at ./abstractarray.jl:1995
 [6] optimal_ticks_and_labels(::Plots.Axis, ::Nothing) at /Users/guardian/.julia/packages/Plots/ex9On/src/axes.jl:215
 [7] optimal_ticks_and_labels at /Users/guardian/.julia/packages/Plots/ex9On/src/axes.jl:156 [inlined]
 [8] get_ticks(::Plots.Axis) at /Users/guardian/.julia/packages/Plots/ex9On/src/axes.jl:264
 [9] _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at /Users/guardian/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1066
 [10] prepare_output(::Plots.Plot{Plots.PyPlotBackend}) at /Users/guardian/.julia/packages/Plots/ex9On/src/plot.jl:254
 [11] show(::Base64.Base64EncodePipe, ::MIME{Symbol("image/png")}, ::Plots.Plot{Plots.PyPlotBackend}) at /Users/guardian/.julia/packages/Plots/ex9On/src/output.jl:205
 [12] #base64encode#3(::Nothing, ::Function, ::Function, ::MIME{Symbol("image/png")}, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Base64/src/encode.jl:206
 [13] base64encode(::Function, ::MIME{Symbol("image/png")}, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Base64/src/encode.jl:203
 [14] display_dict(::Plots.Plot{Plots.PyPlotBackend}) at /Users/guardian/.julia/packages/Plots/ex9On/src/init.jl:53
 [15] #invokelatest#1 at ./essentials.jl:691 [inlined]
 [16] invokelatest at ./essentials.jl:690 [inlined]
 [17] execute_request(::ZMQ.Socket, ::IJulia.Msg) at /Users/guardian/.julia/packages/IJulia/fDY4W/src/execute_request.jl:221
 [18] #invokelatest#1 at ./essentials.jl:691 [inlined]
 [19] invokelatest at ./essentials.jl:690 [inlined]
 [20] eventloop(::ZMQ.Socket) at /Users/guardian/.julia/packages/IJulia/fDY4W/src/eventloop.jl:8
 [21] (::getfield(IJulia, Symbol("##13#16")))() at ./task.jl:262
stevengj commented 6 years ago

Looks like this is a bug in Plots.jl, and should be filed there.