From 5f31ab716946ba3294d3a2b0adfe0fd492a153af Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Wed, 21 Jul 2021 22:30:56 +0200 Subject: [PATCH 1/4] fix gr tickmarks lengths for 2D plots --- src/axes.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/axes.jl b/src/axes.jl index 57b13830..840d90fc 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -731,6 +731,10 @@ function axis_drawing_info(sp, letter) f = RecipesPipeline.scale_func(oax[:scale]) invf = RecipesPipeline.inverse_scale_func(oax[:scale]) + w = width(sp.plotarea).value + h = height(sp.plotarea).value + tick_factor = (letter === :x ? w : h) / min(w, h) + add_major_or_minor_segments(ticks, grid, segments, factor, cond) = begin ticks === nothing && return if cond @@ -763,11 +767,11 @@ function axis_drawing_info(sp, letter) end # add major grid segments - add_major_or_minor_segments(ticks[1], ax[:grid], grid_segments, 0.012, ax[:tick_direction] !== :none) + add_major_or_minor_segments(ticks[1], ax[:grid], grid_segments, 0.012 * tick_factor, ax[:tick_direction] !== :none) # add minor grid segments if ax[:minorticks] ∉ (:none, nothing, false) || ax[:minorgrid] - add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 0.006, true) + add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 0.06 * tick_factor, true) end end end From e58bd8b657afd43097a01a5651c3c6a3ba395d54 Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Wed, 21 Jul 2021 22:39:48 +0200 Subject: [PATCH 2/4] fix minor tick length --- src/axes.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/axes.jl b/src/axes.jl index 840d90fc..ead1d529 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -771,7 +771,7 @@ function axis_drawing_info(sp, letter) # add minor grid segments if ax[:minorticks] ∉ (:none, nothing, false) || ax[:minorgrid] - add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 0.06 * tick_factor, true) + add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 0.006 * tick_factor, true) end end end From 4e5b490b6c60dc0dd6bc55645506ab84f4eb0a52 Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Fri, 23 Jul 2021 19:38:04 +0200 Subject: [PATCH 3/4] make tick length independent of plot size --- src/axes.jl | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/axes.jl b/src/axes.jl index ead1d529..4e06b31b 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -731,10 +731,6 @@ function axis_drawing_info(sp, letter) f = RecipesPipeline.scale_func(oax[:scale]) invf = RecipesPipeline.inverse_scale_func(oax[:scale]) - w = width(sp.plotarea).value - h = height(sp.plotarea).value - tick_factor = (letter === :x ? w : h) / min(w, h) - add_major_or_minor_segments(ticks, grid, segments, factor, cond) = begin ticks === nothing && return if cond @@ -766,12 +762,14 @@ function axis_drawing_info(sp, letter) end end + ax_length = letter === :x ? height(sp.plotarea).value : width(sp.plotarea).value + # add major grid segments - add_major_or_minor_segments(ticks[1], ax[:grid], grid_segments, 0.012 * tick_factor, ax[:tick_direction] !== :none) + add_major_or_minor_segments(ticks[1], ax[:grid], grid_segments, 1.6 / ax_length, ax[:tick_direction] !== :none) # add minor grid segments if ax[:minorticks] ∉ (:none, nothing, false) || ax[:minorgrid] - add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 0.006 * tick_factor, true) + add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 1 / ax_length, true) end end end From 458d72b36b73c39082aff12343cef58b552a400a Mon Sep 17 00:00:00 2001 From: Daniel Schwabeneder Date: Sat, 24 Jul 2021 10:59:06 +0200 Subject: [PATCH 4/4] reduce tickmark length --- src/axes.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/axes.jl b/src/axes.jl index 4e06b31b..fc99e5b8 100644 --- a/src/axes.jl +++ b/src/axes.jl @@ -765,11 +765,11 @@ function axis_drawing_info(sp, letter) ax_length = letter === :x ? height(sp.plotarea).value : width(sp.plotarea).value # add major grid segments - add_major_or_minor_segments(ticks[1], ax[:grid], grid_segments, 1.6 / ax_length, ax[:tick_direction] !== :none) + add_major_or_minor_segments(ticks[1], ax[:grid], grid_segments, 1.2 / ax_length, ax[:tick_direction] !== :none) # add minor grid segments if ax[:minorticks] ∉ (:none, nothing, false) || ax[:minorgrid] - add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 1 / ax_length, true) + add_major_or_minor_segments(minor_ticks, ax[:minorgrid], minorgrid_segments, 0.6 / ax_length, true) end end end