#julia #plots.jl
#джулия #plots.jl
Вопрос:
Выполнение в REPL, после using Plots
, bar(["One","Two","Three"], [1,2,3])
работает. Это приводит к следующему:
Тем не менее, я хотел бы, чтобы ось x была равна y, а y — x. Я просто хочу, чтобы те же данные были представлены горизонтальными полосами, понимаешь? Как бы я это сделал?
bar([1,2,3], ["One","Two","Three"])
получает:
ERROR: MethodError: no method matching AbstractFloat(::Type{String})
Closest candidates are:
AbstractFloat(::Bool) at float.jl:258
AbstractFloat(::Int8) at float.jl:259
AbstractFloat(::Int16) at float.jl:260
...
Stacktrace:
[1] float(::Type{T} where T) at ./float.jl:277
[2] _preprocess_barlike(::RecipesPipeline.DefaultsDict, ::Array{Float64,1}, ::Array{String,1}) at /home/dan/.julia/packages/Plots/GDtiZ/src/recipes.jl:509
[3] macro expansion at /home/dan/.julia/packages/Plots/GDtiZ/src/recipes.jl:359 [inlined]
[4] apply_recipe(::RecipesPipeline.DefaultsDict, ::Type{Val{:bar}}, ::Array{Float64,1}, ::Array{String,1}, ::Nothing) at /home/dan/.julia/packages/RecipesBase/aQmWx/src/RecipesBase.jl:281
[5] _process_seriesrecipe(::Plots.Plot{Plots.GRBackend}, ::RecipesPipeline.DefaultsDict) at /home/dan/.julia/packages/RecipesPipeline/tkFmN/src/series_recipe.jl:48
[6] _process_seriesrecipes!(::Plots.Plot{Plots.GRBackend}, ::Array{Dict{Symbol,Any},1}) at /home/dan/.julia/packages/RecipesPipeline/tkFmN/src/series_recipe.jl:25
[7] recipe_pipeline!(::Plots.Plot{Plots.GRBackend}, ::Dict{Symbol,Any}, ::Tuple{Array{Int64,1},Array{String,1}}) at /home/dan/.julia/packages/RecipesPipeline/tkFmN/src/RecipesPipeline.jl:96
[8] _plot!(::Plots.Plot{Plots.GRBackend}, ::Dict{Symbol,Any}, ::Tuple{Array{Int64,1},Array{String,1}}) at /home/dan/.julia/packages/Plots/GDtiZ/src/plot.jl:167
[9] plot(::Array{Int64,1}, ::Vararg{Any,N} where N; kw::Base.Iterators.Pairs{Symbol,Symbol,Tuple{Symbol},NamedTuple{(:seriestype,),Tuple{Symbol}}}) at /home/dan/.julia/packages/Plots/GDtiZ/src/plot.jl:57
[10] bar(::Array{Int64,1}, ::Vararg{Any,N} where N; kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/dan/.julia/packages/RecipesBase/aQmWx/src/RecipesBase.jl:402
[11] bar(::Array{Int64,1}, ::Vararg{Any,N} where N) at /home/dan/.julia/packages/RecipesBase/aQmWx/src/RecipesBase.jl:402
[12] top-level scope at REPL[41]:1
Выполнение bar(y=["One","Two","Three"], x=[1,2,3])
приводит к этому:
Я совершенно не понимаю, что делать дальше.
Ответ №1:
bar(["One","Two","Three"], [1,2,3], orientation=:h)
«Горизонтальная или вертикальная ориентация для типов столбцов. Значения :h
, :hor
, :horizontal
соответствуют горизонтали (в сторону, привязаны к оси y), и :v
, :vert
, и :vertical
соответствуют вертикали (по умолчанию).»[1]
ССЫЛКА: [1] http://docs.juliaplots.org/latest/generated/attributes_series /