Как повернуть гистограмму в Plots.jl?

#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 /