在 Julia 中,绘制具有特定子标签的图形

In Julia, Plot a graph with specific sub labels

这个问题发表在其他论坛: https://discourse.julialang.org/t/plot-a-graph-with-specific-sub-labels/68491

我需要用特定的轴标签绘制一些东西。更具体地说,子标签。

首先,我要绘制标准图:

tg = 0:0.001:0.7
points = rand(size(tg)[1])

sublabels =  fill("Julia", size(tg)[1] )
tab = [tg points]
sublabels[ tab[:,1] .<= 0.2 ] .= "A"
sublabels[ 0.2 .< tab[:,1] .<= 0.6 ] .= "B"
sublabels[ 0.6 .< tab[:,1] .<= 0.7 ] .= "C"
tab = [tab sublabels]


plot(tab[:,1], tab[:,2], xlabel = "tax")

我想保留这张图并根据矩阵选项卡的最后一列添加这些子标签。必须强调这些范围的限制。我还想保留主要的“税”标签。

有帮助吗?

复制粘贴我在讨论中的回答:

一个 hacky 解决方案是

xlims = (-0.05, 0.75)
plot(tab[:,1], tab[:,2]; xlabel="tax", xticks=[0.0, 0.2, 0.6, 0.7], xlims)
plot!([NaN], [NaN]; label="", yticks=[],
    xticks=([0.1, 0.4, 0.65], ["A", "B", "C"]), tick_direction=:none,
    grid=:none,
    inset = (1, bbox(0.0, 0.0, 1.0, 1.0, :bottom, :right)),
    subplot = 2,
    bg_inside = nothing, xlims
)

并给出