#julia #ijulia-notebook #julia-plots
Вопрос:
Я пытаюсь добавить горизонтальную линию к подзаголовку, и из этого обсуждения: 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])
, по умолчанию он будет верхним. Есть ли способ сделать только нижний?
Ответ №1:
Вероятно, лучше всего строить сюжеты отдельно (как упоминалось в Slack от isentropic).:
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}
объект) p
с двумя элементами p[1]
(первый подзаголовок) и p[2]
(второй подзаголовок). Чтобы добавить линию только к нижнему участку, затем вы можете написать:
x = [1,2,3]
y1 = 2x
y2 = x.^2
p = plot([x, x], [y1, y2], layout = (2, 1))
hline!(p[2], [4])
Комментарии:
1. Спасибо за ваш ответ! Полезно знать, что подзаголовки отслеживаются в виде массива с дескриптором,