2016-09-06 14 views
4

Я попытался следующее:Гистограмма с лог у оси Julia Plots.jl

using Plots.jl; gr() 
histogram(randn(1000),yaxis=(:log10)) 

и производит следующее сообщение об ошибке

Error showing value of type Plots.Plot{Plots.GRBackend}: 
ERROR: At least one finite value must be provided to formatter. 
in showoff(::Array{Float64,1}, ::Symbol) at /Users/ianmarshall/.julia/v0.5/Showoff/src/Showoff.jl:120 
in optimal_ticks_and_labels(::Plots.Axis, ::Void) at /Users/ianmarshall/.julia/v0.5/Plots/src/axes.jl:176 
in get_ticks(::Plots.Axis) at /Users/ianmarshall/.julia/v0.5/Plots/src/axes.jl:204 
in axis_drawing_info(::Plots.Subplot{Plots.GRBackend}) at /Users/ianmarshall/.julia/v0.5/Plots/src/axes.jl:452 
in gr_display(::Plots.Subplot{Plots.GRBackend}, ::Measures.Length{:mm,Float64}, ::Measures.Length{:mm,Float64}, ::Array{Float64,1}) at /Users/ianmarshall/.julia/v0.5/Plots/src/backends/gr.jl:570 
in gr_display(::Plots.Plot{Plots.GRBackend}) at /Users/ianmarshall/.julia/v0.5/Plots/src/backends/gr.jl:457 
in _display(::Plots.Plot{Plots.GRBackend}) at /Users/ianmarshall/.julia/v0.5/Plots/src/backends/gr.jl:1004 
in display(::Base.REPL.REPLDisplay{Base.REPL.LineEditREPL}, ::MIME{Symbol("text/plain")}, ::Plots.Plot{Plots.GRBackend}) at /Users/ianmarshall/.julia/v0.5/Plots/src/output.jl:120 
in display(::Base.REPL.REPLDisplay{Base.REPL.LineEditREPL}, ::Plots.Plot{Plots.GRBackend}) at ./REPL.jl:135 
in display(::Plots.Plot{Plots.GRBackend}) at ./multimedia.jl:143 
in print_response(::Base.Terminals.TTYTerminal, ::Any, ::Void, ::Bool, ::Bool, ::Void) at ./REPL.jl:154 
in print_response(::Base.REPL.LineEditREPL, ::Any, ::Void, ::Bool, ::Bool) at ./REPL.jl:139 
in (::Base.REPL.##22#23{Bool,Base.REPL.##33#42{Base.REPL.LineEditREPL,Base.REPL.REPLHistoryProvider},Base.REPL.LineEditREPL,Base.LineEdit.Prompt})(::Base.LineEdit.MIState, ::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Bool) at ./REPL.jl:652 
in run_interface(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface) at ./LineEdit.jl:1579 
in run_interface(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:? 
in run_frontend(::Base.REPL.LineEditREPL, ::Base.REPL.REPLBackendRef) at ./REPL.jl:903 
in run_repl(::Base.REPL.LineEditREPL, ::Base.##930#931) at ./REPL.jl:188 
in _start() at ./client.jl:360 
in _start() at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:? 

Как я могу производить гистограмму с логарифмической оси у используя Plots.jl? Я использую Julia версии 0.5.0-rc3 + 0 на MacOS 10.11.6, Plots.jl версии 0.9.1.

ответ

6

Проблема в том, что у вас есть диапазон осей, который равен нулю, что -Inf в пространстве журнала. Есть несколько способов, чтобы исправить это, проще всего, вероятно, чтобы заставить нижнюю границу на оси:

using Plots; gr() 
histogram(randn(1000), yaxis = (:log10, (1,Inf))) 

enter image description here

+1

Это исправлено сейчас на графиках 0.11 - код в вопросе будет работать сейчас. –

1

По Участков 0,11, код от вопроса работы

using Plots 
histogram(randn(1000),yaxis=(:log10)) 

enter image description here