【问题标题】:How to center y label on stacked subplots in Julia's Makie?如何将 y 标签集中在 Julia 的 Makie 中的堆叠子图上?
【发布时间】:2021-04-20 15:34:59
【问题描述】:

这是一些示例绘图代码:

using Makie

fig = Figure(resolution = (2400, 2000), backgroundcolor = RGBf0(0.98, 0.98, 0.98), fontsize = 48)

ax1 = fig[1, 1] = Axis(fig, title = "Title")
x = LinRange(0,20,100)

lines!(ax1, x, sin)
    
ax2 = fig[2, 1] = Axis(fig)

lines!(ax2, x, cos)
linkaxes!(ax1, ax2)
ax2.ylabel = "I want my label centered, but how?"
current_figure()

这使得下面的情节:

如您所见,ylabel 在轴 2 上。这并不奇怪,因为这是我告诉它要做的。我已经非常彻底地查看了文档(这非常好),但我没有看到一种明显的方法可以使 ylabel 以两个轴为中心。我考虑过尝试制作一个围绕这个边界框的图形,并删除除 ylabel 之外的所有内容,但我不确定如何做,这对于应该是相当常见的事情来说似乎太过分了。

那么,如何让我的 ylabel 以两个图为中心?

【问题讨论】:

    标签: plot julia


    【解决方案1】:

    解决方案是使用Labels 布局。

    例如,

    using Makie
    
    fig = Figure(resolution = (2400, 2000), backgroundcolor = RGBf0(0.98, 0.98, 0.98), fontsize = 48)
    
    ax1 = fig[1, 1] = Axis(fig, title = "Title")
    x = LinRange(0,20,100)
    
    lines!(ax1, x, sin)
        
    ax2 = fig[2, 1] = Axis(fig)
    
    lines!(ax2, x, cos)
    linkaxes!(ax1, ax2)
    ax2.ylabel = "I want my label centered, but how?"
    ylabel = Label(fig[1:2, 0], "Now the label is centered!", rotation = pi/2)
    current_figure()
    

    注意,您需要传递旋转才能使文本垂直绘制。还可以根据这些子图提供任何居中范围。

    【讨论】:

      猜你喜欢
      • 2013-10-17
      • 2022-10-08
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      相关资源
      最近更新 更多