Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support makie backends #181

Merged
merged 7 commits into from
Oct 6, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"

[weakdeps]
GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"

[extensions]
GLMakieExt = "GLMakie"
MakieExt = "Makie"
JLD2Ext = "JLD2"
PlotsExt = "Plots"

Expand All @@ -47,7 +47,7 @@ DataStructures = "0.17, 0.18"
DocStringExtensions = "^0.8, ^0.9"
FastGaussQuadrature = "^0.4, ^0.5, 1"
ForwardDiff = "^0.10"
GLMakie = "0.10"
Makie = "^0.21"
IterativeSolvers = "0.8.4, 0.8.5, ^0.9"
JLD2 = "0.4, 0.5"
KrylovKit = "^0.7, ^0.8"
Expand Down
2 changes: 1 addition & 1 deletion examples/SH3d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const BK = BifurcationKit

Makie.inline!(true)

contour3dMakie(x; k...) = GLMakie.contour(x; k...)
contour3dMakie(x; k...) = Makie.contour(x; k...)
contour3dMakie(x::AbstractVector; k...) = contour3dMakie(reshape(x,Nx,Ny,Nz); k...)
contour3dMakie(ax, x; k...) = (contour(ax, x; k...))
contour3dMakie(ax, x::AbstractVector; k...) = contour3dMakie(ax, reshape(x,Nx,Ny,Nz); k...)
Expand Down
4 changes: 2 additions & 2 deletions ext/GLMakieExt/GLMakieExt.jl → ext/MakieExt/MakieExt.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module GLMakieExt
using GLMakie, BifurcationKit
module MakieExt
using Makie, BifurcationKit
import BifurcationKit: _plot_backend,
plot,
plot!,
Expand Down
233 changes: 132 additions & 101 deletions ext/GLMakieExt/plot.jl → ext/MakieExt/plot.jl
Original file line number Diff line number Diff line change
@@ -1,147 +1,172 @@
using GLMakie: Point2f0
using Makie: Point2f0

function GLMakie.convert_arguments(::PointBased, contres::AbstractBranchResult, vars = nothing, applytoY = identity, applytoX = identity)
function Makie.convert_arguments(::PointBased, contres::AbstractBranchResult, vars=nothing, applytoY=identity, applytoX=identity)

Check warning on line 3 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L3

Added line #L3 was not covered by tests
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My coding style is to have spaces around =

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes, sorry about that, I hit auto indent and forgot to check it. I just don't know yet in vscode how to change the formatting settings. Would you know ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not really

ind1, ind2 = get_plot_vars(contres, vars)
return ([Point2f0(i, j) for (i, j) in zip(map(applytoX, getproperty(contres.branch, ind1)), map(applytoY, getproperty(contres.branch, ind2)))],)
end

function isplit(x::AbstractVector{T}, indices::AbstractVector{<:Integer}, splitval::Bool = true) where {T<:Real}
if isdefined(Main,:CairoMakie) && Makie.current_backend() == Main.CairoMakie
xx = similar(x, length(x) + 2 * (length(indices) - 1))
for (i, ind) in enumerate(indices)
if i == 1
xx[1:ind+1] .= @views x[1:ind+1]

Check warning on line 13 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L8-L13

Added lines #L8 - L13 were not covered by tests
else
xx[(2*(i-1)+1).+(indices[i-1]-1:ind)] .= @views x[(indices[i-1]-1:ind).+1]

Check warning on line 15 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L15

Added line #L15 was not covered by tests
end
if ind != last(indices)
xx[2*(i-1)+ind] = xx[2*(i-1)+ind-1]
xx[2*(i-1)+ind+1] = splitval ? NaN : xx[2*(i-1)+ind-1]

Check warning on line 19 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L17-L19

Added lines #L17 - L19 were not covered by tests
end
end

Check warning on line 21 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L21

Added line #L21 was not covered by tests

return xx

Check warning on line 23 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L23

Added line #L23 was not covered by tests
else
return x

Check warning on line 25 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L25

Added line #L25 was not covered by tests
end
end

function plot!(ax1, contres::AbstractBranchResult;
plotfold = false,
plotstability = true,
plotspecialpoints = true,
putspecialptlegend = true,
filterspecialpoints = false,
vars = nothing,
linewidthunstable = 1.0,
linewidthstable = 3.0linewidthunstable,
plotcirclesbif = true,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My coding style is to have spaces around =

branchlabel = "",
applytoY = identity,
applytoX = identity)
plotfold=false,
plotstability=true,
plotspecialpoints=true,
putspecialptlegend=true,
filterspecialpoints=false,
vars=nothing,
linewidthunstable=1.0,
linewidthstable=3.0linewidthunstable,
plotcirclesbif=true,
branchlabel=nothing,
applytoY=identity,
applytoX=identity)

# names for axis labels
ind1, ind2 = get_plot_vars(contres, vars)
xlab, ylab = get_axis_labels(ind1, ind2, contres)

# stability linewidth
linewidth = linewidthunstable
indices = getproperty.(contres.specialpoint, :idx)

Check warning on line 49 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L49

Added line #L49 was not covered by tests
# isplit required to work with CairoMakie due to change of linewidth for stability
if _hasstability(contres) && plotstability
linewidth = map(x -> isodd(x) ? linewidthstable : linewidthunstable, contres.stable)
end
if branchlabel == ""
lines!(ax1, map(applytoX, getproperty(contres.branch, ind1)), map(applytoY, getproperty(contres.branch, ind2)); linewidth)
else
lines!(ax1, map(applytoX, getproperty(contres.branch, ind1)), map(applytoY, getproperty(contres.branch, ind2)), linewidth = linewidth, label = branchlabel)
linewidth = isplit(map(x -> x ? linewidthstable : linewidthunstable, contres.stable), indices, false)

Check warning on line 52 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L52

Added line #L52 was not covered by tests
end
xbranch = isplit(map(applytoX, getproperty(contres.branch, ind1)), indices)
ybranch = isplit(map(applytoY, getproperty(contres.branch, ind2)), indices)
lines!(ax1, xbranch, ybranch, linewidth=linewidth, label=branchlabel)

Check warning on line 56 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L54-L56

Added lines #L54 - L56 were not covered by tests
ax1.xlabel = xlab
ax1.ylabel = ylab

# display bifurcation points
bifpt = filter(x -> (x.type != :none) && (x.type != :endpoint) && (plotfold || x.type != :fold) && (x.idx <= length(contres)-1), contres.specialpoint)
bifpt = filter(x -> (x.type != :none) && (x.type != :endpoint) && (plotfold || x.type != :fold) && (x.idx <= length(contres) - 1), contres.specialpoint)

Check warning on line 61 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L61

Added line #L61 was not covered by tests
if length(bifpt) >= 1 && plotspecialpoints #&& (ind1 == :param)
if filterspecialpoints == true
bifpt = filterBifurcations(bifpt)
end
scatter!(ax1,
[applytoX(getproperty(contres[pt.idx], ind1)) for pt in bifpt],
[applytoY(getproperty(contres[pt.idx], ind2)) for pt in bifpt];
marker = map(x -> (x.status == :guess) && (plotcirclesbif==false) ? :rect : :circle, bifpt),
markersize = 10,
color = map(x -> get_color(x.type), bifpt),
scatter!(ax1,

Check warning on line 66 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L66

Added line #L66 was not covered by tests
[applytoX(getproperty(contres[pt.idx], ind1)) for pt in bifpt],
[applytoY(getproperty(contres[pt.idx], ind2)) for pt in bifpt];
marker=map(x -> (x.status == :guess) && (plotcirclesbif == false) ? :rect : :circle, bifpt),

Check warning on line 69 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L69

Added line #L69 was not covered by tests
markersize=10,
color=map(x -> get_color(x.type), bifpt),

Check warning on line 71 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L71

Added line #L71 was not covered by tests
)
end

# add legend for bifurcation points
if putspecialptlegend && length(bifpt) >= 1
bps = unique(x -> x.type, [pt for pt in bifpt if (pt.type != :none && (plotfold || pt.type != :fold))])
(length(bps) == 0) && return
for pt in bps
scatter!(ax1,
[applytoX(getproperty(contres[pt.idx], ind1))],
[applytoY(getproperty(contres[pt.idx], ind2))];
color = get_color(pt.type),
markersize = 10,
label = "$(pt.type)")
scatter!(ax1,

Check warning on line 80 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L80

Added line #L80 was not covered by tests
[applytoX(getproperty(contres[pt.idx], ind1))],
[applytoY(getproperty(contres[pt.idx], ind2))];
color=get_color(pt.type),
markersize=10,
label="$(pt.type)")
end
GLMakie.axislegend(ax1, merge = true, unique = true)
Makie.axislegend(ax1, merge=true, unique=true)

Check warning on line 87 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L87

Added line #L87 was not covered by tests
end
ax1
end

function plot_branch_cont(contres::ContResult,
state,
iter,
plotuserfunction;
plotfold = false,
plotstability = true,
plotspecialpoints = true,
putspecialptlegend = true,
filterspecialpoints = false,
linewidthunstable = 1.0,
linewidthstable = 3.0linewidthunstable,
plotcirclesbif = true,
applytoY = identity,
applytoX = identity)
state,
iter,
plotuserfunction;
plotfold=false,
plotstability=true,
plotspecialpoints=true,
putspecialptlegend=true,
filterspecialpoints=false,
linewidthunstable=1.0,
linewidthstable=3.0linewidthunstable,
plotcirclesbif=true,
applytoY=identity,
applytoX=identity)
sol = getsolution(state)
if length(contres) == 0; return ; end

if length(contres) == 0
return

Check warning on line 108 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L107-L108

Added lines #L107 - L108 were not covered by tests
end

# names for axis labels
ind1, ind2 = get_plot_vars(contres, nothing)
xlab, ylab = get_axis_labels(ind1, ind2, contres)

# stability linewidth
linewidth = linewidthunstable
if _hasstability(contres) && plotstability
linewidth = map(x -> isodd(x) ? linewidthstable : linewidthunstable, contres.stable)
end
fig = Figure(size = (1200, 700))
ax1 = fig[1:2, 1] = Axis(fig, xlabel = String(xlab), ylabel = String(ylab), tellheight = true)
ax2 = fig[1, 2] = Axis(fig, xlabel = "step [$(state.step)]", ylabel = String(xlab))
lines!(ax2, contres.step, contres.param, linewidth = linewidth)

fig = Figure(size=(1200, 700))
ax1 = fig[1:2, 1] = Axis(fig, xlabel=String(xlab), ylabel=String(ylab), tellheight=true)

Check warning on line 122 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L121-L122

Added lines #L121 - L122 were not covered by tests

ax2 = fig[1, 2] = Axis(fig, xlabel="step [$(state.step)]", ylabel=String(xlab))
lines!(ax2, contres.step, contres.param, linewidth=linewidth)

Check warning on line 125 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L124-L125

Added lines #L124 - L125 were not covered by tests

if compute_eigenelements(iter)
eigvals = contres.eig[end].eigenvals
ax_ev = fig[3, 1:2] = Axis(fig, xlabel = "ℜ", ylabel = "ℑ")
scatter!(ax_ev, real.(eigvals), imag.(eigvals), strokewidth = 0, markersize = 10, color = :black)
ax_ev = fig[3, 1:2] = Axis(fig, xlabel="ℜ", ylabel="ℑ")
scatter!(ax_ev, real.(eigvals), imag.(eigvals), strokewidth=0, markersize=10, color=:black)

Check warning on line 130 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L129-L130

Added lines #L129 - L130 were not covered by tests
# add stability boundary
maxIm = maximum(imag, eigvals)
minIm = minimum(imag, eigvals)
if maxIm-minIm < 1e-6
if maxIm - minIm < 1e-6

Check warning on line 134 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L134

Added line #L134 was not covered by tests
maxIm, minIm = 1, -1
end
lines!(ax_ev, [0, 0], [maxIm, minIm], color = :blue, linewidth = linewidthunstable)
lines!(ax_ev, [0, 0], [maxIm, minIm], color=:blue, linewidth=linewidthunstable)

Check warning on line 137 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L137

Added line #L137 was not covered by tests
end

# plot arrow to indicate the order of computation
if length(contres) > 1
x = contres.branch[end].param
y = getproperty(contres.branch,1)[end]
y = getproperty(contres.branch, 1)[end]

Check warning on line 143 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L143

Added line #L143 was not covered by tests
u = contres.branch[end].param - contres.branch[end-1].param
v = getproperty(contres.branch,1)[end] - getproperty(contres.branch,1)[end-1]
GLMakie.arrows!(ax1, [x], [y], [u], [v], color = :green, arrowsize = 20,)
v = getproperty(contres.branch, 1)[end] - getproperty(contres.branch, 1)[end-1]
Makie.arrows!(ax1, [x], [y], [u], [v], color=:green, arrowsize=20,)

Check warning on line 146 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L145-L146

Added lines #L145 - L146 were not covered by tests
end

plot!(ax1, contres; plotfold, plotstability, plotspecialpoints, putspecialptlegend, filterspecialpoints, linewidthunstable, linewidthstable, plotcirclesbif, applytoY, applytoX)

if isnothing(plotuserfunction) == false
ax_perso = fig[2, 2] = Axis(fig, tellheight = true)
plotuserfunction(ax_perso, sol.u, sol.p; ax1 = ax1)
ax_perso = fig[2, 2] = Axis(fig, tellheight=true)
plotuserfunction(ax_perso, sol.u, sol.p; ax1=ax1)

Check warning on line 153 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L152-L153

Added lines #L152 - L153 were not covered by tests
end

display(fig)
fig
end

function plot(contres::AbstractBranchResult; kP...)
if length(contres) == 0; return ;end
if length(contres) == 0
return

Check warning on line 162 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L161-L162

Added lines #L161 - L162 were not covered by tests
end

ind1, ind2 = get_plot_vars(contres, nothing)
xlab, ylab = get_axis_labels(ind1, ind2, contres)

fig = Figure()
ax1 = fig[1, 1] = Axis(fig, xlabel = String(xlab), ylabel = String(ylab), tellheight = true)
ax1 = fig[1, 1] = Axis(fig, xlabel=String(xlab), ylabel=String(ylab), tellheight=true)

Check warning on line 169 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L169

Added line #L169 was not covered by tests

plot!(ax1, contres; kP...)
display(fig)
Expand All @@ -150,17 +175,19 @@

plot(brdc::DCResult; kP...) = plot(brdc.branches...; kP...)

function plot(brs::AbstractBranchResult...;
branchlabel = ["$i" for i=1:length(brs)],
kP...)
if length(brs) == 0; return ;end
function plot(brs::AbstractBranchResult...;

Check warning on line 178 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L178

Added line #L178 was not covered by tests
branchlabel=["$i" for i = 1:length(brs)],
kP...)
if length(brs) == 0
return

Check warning on line 182 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L181-L182

Added lines #L181 - L182 were not covered by tests
end
fig = Figure()
ax1 = fig[1, 1] = Axis(fig)

for (id, contres) in pairs(brs)
plot!(ax1, contres; branchlabel = branchlabel[id], kP...)
plot!(ax1, contres; branchlabel=branchlabel[id], kP...)

Check warning on line 188 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L188

Added line #L188 was not covered by tests
end
GLMakie.axislegend(ax1, merge = true, unique = true)
Makie.axislegend(ax1, merge=true, unique=true)

Check warning on line 190 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L190

Added line #L190 was not covered by tests
display(fig)
fig, ax1
end
Expand All @@ -182,18 +209,18 @@
# end
# end

function plot_periodic_potrap(outpof, n, M; ratio = 2)
function plot_periodic_potrap(outpof, n, M; ratio=2)

Check warning on line 212 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L212

Added line #L212 was not covered by tests
@assert ratio > 0 "You need at least one component"
outpo = reshape(outpof[1:end-1], ratio * n, M)
if ratio == 1
heatmap(outpo[1:n,:]', ylabel="Time", color=:viridis)
heatmap(outpo[1:n, :]', ylabel="Time", color=:viridis)

Check warning on line 216 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L216

Added line #L216 was not covered by tests
else
fig = GLMakie.Figure()
ax1 = Axis(fig[1,1], ylabel="Time")
ax2 = Axis(fig[1,2], ylabel="Time")
# GLMakie.heatmap!(ax1, rand(2,2))
GLMakie.heatmap!(ax1, outpo[1:n,:]')
GLMakie.heatmap!(ax2, outpo[n+2:end,:]')
fig = Makie.Figure()
ax1 = Axis(fig[1, 1], ylabel="Time")
ax2 = Axis(fig[1, 2], ylabel="Time")

Check warning on line 220 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L218-L220

Added lines #L218 - L220 were not covered by tests
# Makie.heatmap!(ax1, rand(2,2))
Makie.heatmap!(ax1, outpo[1:n, :]')
Makie.heatmap!(ax2, outpo[n+2:end, :]')

Check warning on line 223 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L222-L223

Added lines #L222 - L223 were not covered by tests
fig
end
end
Expand All @@ -210,8 +237,10 @@
# end
####################################################################################################
# plot recipes for the bifurcation diagram
function plot(bd::BifDiagNode; code = (), level = (-Inf, Inf), k...)
if ~hasbranch(bd); return; end
function plot(bd::BifDiagNode; code=(), level=(-Inf, Inf), k...)
if ~hasbranch(bd)
return

Check warning on line 242 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L240-L242

Added lines #L240 - L242 were not covered by tests
end

fig = Figure()
ax = fig[1, 1] = Axis(fig)
Expand All @@ -222,30 +251,32 @@
fig, ax
end

function _plot_bifdiag_makie!(ax, bd::BifDiagNode; code = (), level = (-Inf, Inf), k...)
if ~hasbranch(bd); return; end
function _plot_bifdiag_makie!(ax, bd::BifDiagNode; code=(), level=(-Inf, Inf), k...)
if ~hasbranch(bd)
return

Check warning on line 256 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L254-L256

Added lines #L254 - L256 were not covered by tests
end

_bd = get_branch(bd, code)
_plot_bifdiag_makie!(ax, _bd.child; code = (), level = level, k...)
_plot_bifdiag_makie!(ax, _bd.child; code=(), level=level, k...)

Check warning on line 260 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L260

Added line #L260 was not covered by tests

# !! plot root branch in last so the bifurcation points do not alias, for example a 2d BP would be plot as a 1d BP if the order were reversed
if level[1] <= _bd.level <= level[2]
plot!(ax, _bd.γ; k...)
end
end

function _plot_bifdiag_makie!(ax, bd::Vector{BifDiagNode}; code = (), level = (-Inf, Inf), k...)
function _plot_bifdiag_makie!(ax, bd::Vector{BifDiagNode}; code=(), level=(-Inf, Inf), k...)

Check warning on line 268 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L268

Added line #L268 was not covered by tests
for b in bd
_plot_bifdiag_makie!(ax, b; code, level, k... )
_plot_bifdiag_makie!(ax, b; code, level, k...)

Check warning on line 270 in ext/MakieExt/plot.jl

View check run for this annotation

Codecov / codecov/patch

ext/MakieExt/plot.jl#L270

Added line #L270 was not covered by tests
end
end
####################################################################################################
plotAllDCBranch(branches) = plot(branches...)

function plot_DCont_branch(::BK_Makie,
branches,
nbrs::Int,
nactive::Int,
nstep::Int)
branches,
nbrs::Int,
nactive::Int,
nstep::Int)
plot(branches...)
end
Loading