【问题标题】:hline/vline with subplots in JuliaJulia 中带有子图的 hline/vline
【发布时间】:2021-06-29 00:55:05
【问题描述】:

我正在尝试向子图添加一条水平线,从这个讨论中:https://discourse.julialang.org/t/vline-with-subplots/25479/2,我有以下内容

x = [1,2,3]
y1 = 2x
y2 = x.^2
plot([x, x], [y1, y2], layout = (2, 1))
hline!([4 4])

这会产生情节。

现在我要做的是在底部绘图上绘制水平线,而不是顶部。如果我只指定 hline!([4]) ,它默认为顶部的。有没有办法只做底部的?

【问题讨论】:

    标签: julia ijulia-notebook julia-plots


    【解决方案1】:

    单独绘制子图可能是最佳做法(正如等熵在 Slack 中提到的那样):

    x = [1,2,3]
    y1 = 2x
    y2 = x.^2
    p1 = plot(x, y1)
    p2 = plot(x, y2)
    hline!(p2, [4])
    plot(p1, p2, layout = (2, 1))
    

    但如果你想一口气搞定,你可以使用

    hline!([[NaN], [4]])
    

    【讨论】:

      【解决方案2】:

      诀窍是跟踪情节句柄。

      p = plot([x, x], [y1, y2], layout = (2, 1))
      

      返回一个带有两个元素的绘图句柄(特别是Plots.Plot{Plots.GRBackend} 对象)pp[1](第一个子图)和p[2](第二个子图)。要仅将 hline 添加到底部图,则可以编写:

      x = [1,2,3]
      y1 = 2x
      y2 = x.^2
      p = plot([x, x], [y1, y2], layout = (2, 1))
      hline!(p[2], [4])
      

      【讨论】:

      • 感谢您的回答!很高兴知道子图作为带有句柄的数组进行跟踪,
      猜你喜欢
      • 1970-01-01
      • 2013-01-12
      • 2021-11-28
      • 2021-10-17
      • 2020-02-09
      • 2020-08-06
      • 1970-01-01
      • 2021-07-19
      • 1970-01-01
      相关资源
      最近更新 更多