Несколько Ось с Plots.jl
Есть ли способ разместить второй набор данных на отдельной оси, наложенной на первый график?
using Plots; gadfly(size=(800,400))
plot(Vector[randn(100)], line = ([:green], :step))
plot!(Vector[randn(100)], line = ([:red], :step))
4 ответа
Теперь это делается путем добавления
twinx()
аргумент:
plot(rand(10))
plot!(twinx(),100rand(10))
Однако есть некоторая непреднамеренная ось и поведение метки:
- По умолчанию надписи располагаются друг над другом.
- xticks наносятся поверх уже существующего графика
- Цвета по умолчанию не соотносятся с общим количеством серий на подзаголовке.
Поэтому предлагаю добавить дополнительные аргументы:
plot(rand(10),label="left",legend=:topleft)
plot!(twinx(),100rand(10),color=:red,xticks=:none,label="right")
Кажется, что на данный момент все еще существует проблема корреляции всех серий, связанных с подсюжетом.
2016-03-18 18:13
Если у вас есть несколько рядов, которые вы хотите построить, и вы хотите постепенно добавлять данные, вы можете сделать это следующим образом:
p = plot()
p_twin = twinx(p)
plot!(p,x,y)
plot!(p_twin,x,y_twin)