首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果存在其他绘图元素,则链接Makie.jl中的轴

如果存在其他绘图元素,则链接Makie.jl中的轴
EN

Stack Overflow用户
提问于 2021-07-09 05:20:03
回答 1查看 104关注 0票数 2

我想创建多个具有自己的独立图例和共享y轴限制的子图。我目前正在通过执行以下操作在循环中创建子图:

代码语言:javascript
复制
fig = Figure()
    
for i in 1:3
    lines(fig[i, 1], rand(10), label="$i")
end
    
linkyaxes!(fig.content...)
    
fig

这可以很好地工作,但当尝试向每个子图添加图例时:

代码语言:javascript
复制
fig = Figure()
    
for i in 1:3
    lines(fig[i, 1], rand(10), label="$i")
    axislegend()
end
    
linkyaxes!(fig.content...)
    
fig

现在抛出一个错误:

代码语言:javascript
复制
MethodError: Cannot `convert` an object of type Makie.MakieLayout.Legend to an object of type Makie.MakieLayout.Axis

因为除了以前的原始Axis对象之外,fig.content现在还包括Makie.MakieLayout.Legend()对象。

我需要事先过滤掉这些吗,或者有没有更好的方法来生成所需的绘图?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 09:37:02

我不确定这是不是最好的方法,但您可以确保以这种方式将轴传递给linkyaxes!

代码语言:javascript
复制
axs = []

fig = Figure()

for i in 1:3
    ax = lines(fig[i, 1], rand(10), label="$i").axis
    push!(axs, ax)
    axislegend()
end

linkyaxes!(axs...)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68308757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档