# Explicit length of ticks in a Plot

Ticks or Frameticks are defined in the following way:

{{x1,label1,len1},...}  tick marks with specified scaled length


With the following information:

Tick mark lengths are given as a fraction of the distance across the whole plot.


That means if I combine two plot with different Aspect ratios, the length of the ticks will not be the same. This is not wanted. Of course I can now manually equalize them, but this is not easy. Is there an Option for an AbsoluteLength? Like AbsoluteThickness or AbsolutePointsize?

• As far as I know, this is still not possible. I have submitted a feature request for this exact thing around 2 years ago, but have not heard anything since (neither updates nor workarounds) Commented Sep 26, 2022 at 16:32

We may extract the absolute values for ticks using AbsoluteOptions. We may then change these options to our liking and reinsert them:

We create an example plot:

pl = Plot[Sin[x], {x, 0, 2 Pi}];


Then we extract the information about ticks:

ti0 = Ticks /. AbsoluteOptions[pl];


The specifications have the form: {position,label,{positive tick length, negative tick length}}. We change now the tick length and reinsert it using Show:

Do[
ti = ti0 /. {x1_, x2_, {x3_, x4_}} -> {x1, x2, {len, 0}};
Show[pl, Ticks -> ti] // Print;
, {len, {0.01, 0.02, 0.04}}]


• Unless I'm missing something, this doesn't relate to the question on how to achieve ticks with an absolute length? Commented Sep 26, 2022 at 18:12