Multiple Axes in Julia
How to make a graph with multiple axes (dual y-axis plots, plots with secondary axes) in julia.
Two Y Axes
using PlotlyJS
plot(
[
scatter(x=1:3, y=40:10:60, name="yaxis data"),
scatter(x=2:4, y=4:6, name="yaxis2 data", yaxis="y2")
],
Layout(
title_text="Double Y Axis Example",
xaxis_title_text="xaxis title",
yaxis_title_text="yaxis title",
yaxis2=attr(
title="yaxis2 title",
overlaying="y",
side="right"
)
)
)
Multiple Axes
Low-level API for creating a figure with multiple axes
using PlotlyJS
traces = GenericTrace[]
for i in 1:4
trace = scatter(x=(i+1):(i+3), y=4:6 .* (10^i), yaxis="y$i", name="yaxis$i data")
push!(traces, trace)
end
plot(
traces,
Layout(
xaxis_domain=[0.3, 0.7],
yaxis=attr(title="yaxis title", titlefont_color="red"),
yaxis2=attr(
title="yaxis2 title", titlefont_color="blue",
overlaying="y", side="left", position=0.15, anchor="free"
),
yaxis3=attr(
title="yaxis3 title", titlefont_color="green",
overlaying="y", side="right", anchor="x",
),
yaxis4=attr(
title="yaxis4 title", titlefont_color="orange",
overlaying="y", side="right", position=0.85, anchor="free",
),
title_text="multiple y-axes example",
)
)
Reference
All of the y-axis properties are found here: https://plotly.com/julia/reference/YAxis/. For more information on creating subplots see the Subplots in Julia section.