I’d prefer if I didn’t have to guess the height and tweak it manually. vlines! seems appropriate, except the line starts below 0, which looks a bit odd to me:
The actual limits are in ax.finallimits. I usually prefer to do ylims!(low = 0) anyway with barplots if they show only positive values, in which case vlines would be ok. If you plot a line manually and don’t want it to change the limits itself, you should be able to set yautolimits = false as an attribute.
But if I’m making several plots with different axes (say in some the x-limits are (0,1) and in others (0, 100)) then I think you need the finallimits thing to get the right scaling to be like 1% of the x-range or such.
I think both of these are cases in which there’s a need to mix data scale and axis scale. I wonder if Makie could have like a AxisScale object that you could do position = (xs[i] + .01*AxisScale(), ys[i]) or something? Or position_in_axis_scale = (convert_to_axis_units(xs[i]) + .01, convext_to_axis_units(ys[i])) or something like that (with better names)?
For text there is offset which works in screen coordinates. In principle I agree that axis transforms are useful but your specific issue is easier to handle with the offset parameter: