【发布时间】:2022-10-08 16:37:03
【问题描述】:
我正在使用 CairoMakie 散点图 XY 数据集,但使用标签作为标记:
using CairoMakie
x = [0, 0.5, 0.50]
y = [0, 0.5, 0.51]
lbls = ["O", "A", "B"]
fig = Figure()
ax = Axis(fig[1,1])
scatter!(ax, x, y, marker=:circle, markersize=10, color=:red)
foreach(i -> text!(ax, position=(x[i], y[i]), lbls[i]), 1:3)
display(fig)
这将产生下图:
因为点A 和B 彼此非常接近,所以它们各自的标签重叠。 CairoMakie 是否有一种算法来放置标签以避免标签重叠?
我知道 Gadfly 具有 Geom.label 的此功能,但我希望我不必使用单独的包来绘制此类图表。我也知道在 CairoMakie,我可以使用诸如 position 和 offset 之类的参数来调整标签位置,使标签不重叠,但我不能对我的每个数据集都这样做。
任何人都可以帮忙吗?或者也许有一个用 Julia 编写的标签放置算法?谢谢。
【问题讨论】:
标签: julia scatter-plot makie.jl