let
points = [(2, 2), (1, 4), (4, 1), (3, 3), (5, 2)]
labels = ["1", "2", "3", "4", "5"]
colors = [:steelblue, :steelblue, :steelblue, :tomato, :steelblue]
fig = Figure(; size=(500, 450))
ax = Axis(
fig[1, 1];
xlabel=L"$f_1$ (maximize)",
ylabel=L"$f_2$ (minimize)",
xticksvisible=false,
xticklabelsvisible=false,
yticksvisible=false,
yticklabelsvisible=false,
limits=(0, 6, 0, 5.5),
)
for (i, (x, y)) in enumerate(points)
scatter!(ax, [x], [y]; markersize=22, color=colors[i])
text!(ax, x - 0.2, y + 0.25; text=labels[i], fontsize=18, font=:bold)
end
# Arrow from 1 to 4 showing dominance
arrows!(ax, [2.15], [2.15], [0.65], [0.65]; linewidth=1.5, color=:gray50)
text!(ax, 2.7, 2.85; text="dominates", fontsize=12, color=:gray50, rotation=π / 4)
fig
end┌ Warning: `arrows` are deprecated in favor of `arrows2d` and `arrows3d`. └ @ Makie ~/.julia/packages/Makie/kJl0u/src/basic_recipes/arrows.jl:166
Five candidate solutions. Point 4 (red) is dominated by point 1: worse on both objectives. Points 1, 2, 3, 5 are mutually non-dominated.

