From 02ede8020fdbb1fef4021906bbbe686deb62cb2d Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Wed, 30 May 2018 14:26:35 +0200 Subject: [PATCH] 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