# Tick size in Plots.jl

I am having a very hard time trying to increase tick size in Plots.jl using gr(). Apparently there is no documentation on this either. Is there a way to do it?

The ticks’ thickness can be increased together with the axes - see manual section here. The axes labels fonts will increase too. To avoid that do:

``````using Plots; gr()
a = 2/3
Plots.scalefontsizes(a)
plot(sin, thickness_scaling = 1/a)
# Plots.reset_defaults()
``````

I have found the solution regarding thickness, thanks! However, what I really want to increase is length, while keeping thickness fixed.

Check the simple `ticks_length!()` function herein to increase the ticks length:

``````function ticks_length!(;tl=0.02)
p = Plots.current()
xticks, yticks = Plots.xticks(p), Plots.yticks(p)
xl, yl = Plots.xlims(p), Plots.ylims(p)
x1, y1 = zero(yticks) .+ xl, zero(xticks) .+ yl
sz = p.attr[:size]
r = sz/sz
dx, dy = tl*(xl - xl), tl*r*(yl - yl)
plot!([xticks xticks]', [y1 y1 .+ dy]', c=:black, labels=false)
plot!([x1 x1 .+ dx]', [yticks yticks]', c=:black, labels=false, xlims=xl, ylims=yl)
return Plots.current()
end

# usage:
x = 0:0.01:2π; y = 0.1sin.(x)
plot(x,y)
ticks_length!()

plot(x,y)
ticks_length!(tl=0.015)
``````
1 Like

This is very handy! It’s unfortunate that the option is not implemented, but your fix certainly does the job for me. Thanks!

Edit: It doesn’t look like it works with 3D plots, though.