You can specify data in mapping already, although I honestly don’t completely grok the logic of that. For example, mapping(x, y, color = lab) in the first part, without data, doesn’t work.
https://aog.makie.org/stable/gallery/gallery/data%20manipulations/pre_grouped_data/#Pre-grouped-data
Anyway, this syntax works if you don’t want to do a second data call for the ABLines:
julia> p = data((; x, y, lab)) * mapping(:x, :y, color = :lab) + mapping([0], [1]) * visual(ABLines);
julia> draw(p; axis=(aspect=1,xticks=0:0.2:1.4, yticks=0:0.2:1.4, limits=((0,1.4),(0,1.4))))
