Skip to content

Commit

Permalink
fixed defect in some backends' handling of axis transformations
Browse files Browse the repository at this point in the history
  • Loading branch information
haberdashPI committed Jul 10, 2019
1 parent 524143d commit ecb83b5
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 15 deletions.
2 changes: 2 additions & 0 deletions src/PlotAxes.jl
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,8 @@ end
# using Gadfly
# include("gadfly.jl")

const AxisId = Union{Symbol,Pair}

function __init__()
@require RCall="6f49c342-dc21-5d91-9882-a32aef131414" begin
using .RCall
Expand Down
12 changes: 6 additions & 6 deletions src/gadfly.jl
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
export gadplot_axes

split_gadargs(args...) = (),args
split_gadargs(ax::Symbol,args...) = (ax,),args
split_gadargs(ax1::Symbol,ax2::Symbol,args...) = (ax1,ax2),args
split_gadargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,args...) = (ax1,ax2,ax3),args
split_gadargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,ax4::Symbol,args...) =
split_gadargs(ax::AxisId,args...) = (ax,),args
split_gadargs(ax1::AxisId,ax2::AxisId,args...) = (ax1,ax2),args
split_gadargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,args...) = (ax1,ax2,ax3),args
split_gadargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,ax4::AxisId,args...) =
(ax1,ax2,ax3,ax4),args
function split_gadargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,ax4::Symbol,
ax5::Symbol,args...)
function split_gadargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,ax4::AxisId,
ax5::AxisId,args...)
error("Plotting data using 5 or more axes is not supported by Gadfly backend.")
end

Expand Down
18 changes: 9 additions & 9 deletions src/ggplot2.jl
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
export ggplot_axes

split_ggargs(args...) = (),args
split_ggargs(ax::Symbol,args...) = (ax,),args
split_ggargs(ax1::Symbol,ax2::Symbol,args...) = (ax1,ax2),args
split_ggargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,args...) = (ax1,ax2,ax3),args
split_ggargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,ax4::Symbol,args...) =
split_ggargs(ax::AxisId,args...) = (ax,),args
split_ggargs(ax1::AxisId,ax2::AxisId,args...) = (ax1,ax2),args
split_ggargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,args...) = (ax1,ax2,ax3),args
split_ggargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,ax4::AxisId,args...) =
(ax1,ax2,ax3,ax4),args
split_ggargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,ax4::Symbol,ax5::Symbol,args...) =
split_ggargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,ax4::AxisId,ax5::AxisId,args...) =
(ax1,ax2,ax3,ax4,ax5),args
split_ggargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,ax4::Symbol,ax5::Symbol,
ax6::Symbol,args...) = (ax1,ax2,ax3,ax4,ax5,ax6),args
function split_ggargs(ax1::Symbol,ax2::Symbol,ax3::Symbol,ax4::Symbol,
ax5::Symbol,ax6::Symbol,ax7::Symbol,args...)
split_ggargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,ax4::AxisId,ax5::AxisId,
ax6::AxisId,args...) = (ax1,ax2,ax3,ax4,ax5,ax6),args
function split_ggargs(ax1::AxisId,ax2::AxisId,ax3::AxisId,ax4::AxisId,
ax5::AxisId,ax6::AxisId,ax7::AxisId,args...)
error("Plotting data using 7 or more axes is not supported by ggplot backend.")
end

Expand Down
9 changes: 9 additions & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,15 @@ end
result = plotaxes(d)
@test result != false
end
if ndims(d) == 3
result = plotaxes(d,:a,:b => log,:c)
elseif ndims(d) == 2
result = plotaxes(d,:a,:b => log)
elseif ndims(d) == 1
result = plotaxes(d,:a => log)
end

@test result != false
end
end

Expand Down

0 comments on commit ecb83b5

Please sign in to comment.