【问题标题】:Increase spacing/padding between legend labels in Plots.jl增加 Plots.jl 中图例标签之间的间距/填充
【发布时间】:2020-10-21 14:59:24
【问题描述】:

我正在使用带有 GR 后端的 Plots.jl 在 JuliaLang 中生成一些图。我注意到,当使用 LaTeXStrings.jl 在图例标签中生成 Latex 字符串时,标签是靠在一起的。为了说明我所指的内容,我编辑了 JuliaPlots linestyle example 以在图例标签中使用 Latex 字符串。代码如下:

using Plots; gr()
using LaTeXStrings

styles = filter((s->begin
            s in Plots.supported_styles()
        end), [:solid, :dash, :dot, :dashdot, :dashdotdot])

styles = reshape(styles, 1, length(styles))
n = length(styles)
y = cumsum(randn(20, n), dims = 1)

plot(y, line = (5, styles), label = [L"s^{ol}_{id}" L"d^{as}_h" L"d^{o}_{t}" L"d^{ash}_{dot}" L"dash^{dot}_{dot}"], legendtitle = "linestyle")

上面的代码产生了下面的图:

如您所见,一个标签的下标与正下方标签的上标非常接近。图例标题也是如此。

我想增加每个标签之间的间距/填充,以便每个标签的上标和下标之间存在间隙,但不知道该怎么做。

【问题讨论】:

    标签: julia plots.jl


    【解决方案1】:

    更高级的图例格式似乎仅适用于 pyplot() 后端。 然而,在使用gr() 时,我有时会使用这个非常丑陋的技巧:

    plot(y, line = (5, styles), label = [L"^{s^{ol}_{id}}" L"^{d^{as}_h}" L"^{d^{o}_{t}}" L"^{d^{ash}_{dot}}" L"^{dash^{dot}_{dot}}"],legendtitle = "linestyle",legendfontsize=14.0)
    

    【讨论】: