From 7ce96a4e3d3d1f512969f035fc199acfb5b67802 Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Wed, 30 May 2018 13:25:00 +0200 Subject: [PATCH 1/3] set fallback tick specification for axes with discrete values --- src/axes.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/axes.jl b/src/axes.jl index db4137e3..4a9327f3 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -249,12 +249,12 @@ function get_ticks(axis::Axis) cv, dv = if !isempty(dvals) # discrete ticks... n = length(dvals) - rng = if ticks == :auto - Int[round(Int,i) for i in linspace(1, n, 15)] - elseif ticks == :all + rng = if ticks == :all 1:n elseif typeof(ticks) <: Int Int[round(Int,i) for i in linspace(1, n, ticks)] + else + Int[round(Int,i) for i in linspace(1, n, 15)] end axis[:continuous_values][rng], dvals[rng] elseif typeof(ticks) <: Symbol From 54158a034040e0de5a24ce19c51fde7e17031975 Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Wed, 30 May 2018 13:59:16 +0200 Subject: [PATCH 2/3] check for dvals at the end --- src/axes.jl | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/axes.jl b/src/axes.jl index 4a9327f3..d9536c48 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -246,18 +246,7 @@ function get_ticks(axis::Axis) ticks = ticks == :native ? :auto : ticks dvals = axis[:discrete_values] - cv, dv = if !isempty(dvals) - # discrete ticks... - n = length(dvals) - rng = if ticks == :all - 1:n - elseif typeof(ticks) <: Int - Int[round(Int,i) for i in linspace(1, n, ticks)] - else - Int[round(Int,i) for i in linspace(1, n, 15)] - end - axis[:continuous_values][rng], dvals[rng] - elseif typeof(ticks) <: Symbol + cv, dv = if typeof(ticks) <: Symbol if ispolar(axis.sps[1]) && axis[:letter] == :x #force theta axis to be full circle (collect(0:pi/4:7pi/4), string.(0:45:315)) @@ -271,6 +260,17 @@ function get_ticks(axis::Axis) elseif typeof(ticks) <: NTuple{2, Any} # assuming we're passed (ticks, labels) ticks + elseif !isempty(dvals) + # discrete ticks... + n = length(dvals) + rng = if ticks == :auto + Int[round(Int,i) for i in linspace(1, n, 15)] + elseif ticks == :all + 1:n + elseif typeof(ticks) <: Int + Int[round(Int,i) for i in linspace(1, n, ticks)] + end + axis[:continuous_values][rng], dvals[rng] else error("Unknown ticks type in get_ticks: $(typeof(ticks))") end From 02ede8020fdbb1fef4021906bbbe686deb62cb2d Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Wed, 30 May 2018 14:26:35 +0200 Subject: [PATCH 3/3] fix tick conditions --- src/axes.jl | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/axes.jl b/src/axes.jl index d9536c48..c873086e 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -247,7 +247,16 @@ function get_ticks(axis::Axis) dvals = axis[:discrete_values] cv, dv = if typeof(ticks) <: Symbol - if ispolar(axis.sps[1]) && axis[:letter] == :x + if !isempty(dvals) + # discrete ticks... + n = length(dvals) + rng = if ticks == :auto + Int[round(Int,i) for i in linspace(1, n, 15)] + else # if ticks == :all + 1:n + end + axis[:continuous_values][rng], dvals[rng] + elseif ispolar(axis.sps[1]) && axis[:letter] == :x #force theta axis to be full circle (collect(0:pi/4:7pi/4), string.(0:45:315)) else @@ -255,22 +264,16 @@ function get_ticks(axis::Axis) optimal_ticks_and_labels(axis) end elseif typeof(ticks) <: Union{AVec, Int} - # override ticks, but get the labels - optimal_ticks_and_labels(axis, ticks) + if !isempty(dvals) && typeof(ticks) <: Int + rng = Int[round(Int,i) for i in linspace(1, length(dvals), ticks)] + axis[:continuous_values][rng], dvals[rng] + else + # override ticks, but get the labels + optimal_ticks_and_labels(axis, ticks) + end elseif typeof(ticks) <: NTuple{2, Any} # assuming we're passed (ticks, labels) ticks - elseif !isempty(dvals) - # discrete ticks... - n = length(dvals) - rng = if ticks == :auto - Int[round(Int,i) for i in linspace(1, n, 15)] - elseif ticks == :all - 1:n - elseif typeof(ticks) <: Int - Int[round(Int,i) for i in linspace(1, n, ticks)] - end - axis[:continuous_values][rng], dvals[rng] else error("Unknown ticks type in get_ticks: $(typeof(ticks))") end