ControlSystems + PlotlyJS

I just read in this post
Implementation of matlab function in julia (Root locus plot)
that it is possible to use ControlSystems together with PlotlyJS.
To use plotlyjs() the package PlotlyJShas to be installed.

using ControlSystems, Plots
plotlyjs()
G = tf([5], [1, 6, 5, 1])

These plots work with PlotlyJS:

nyquistplot(G)
rlocusplot(G, c=:blue)
plot(step(feedback(G),10))

See also for nyquistplot:
https://juliacontrol.github.io/ControlSystems.jl/stable/lib/plotting/#ControlSystemsBase.nyquistplot

However, the Bode plot does not work:

bodeplot(G)

Probably because it consists of 2 sub-plots?

I think it is great to have this hover feature but I have not known this before and it is not explicitly explained in the docs. So, it would be very nice to have an explanation in the docs for using PlotlyJS.
I guess some other users are interested in using PlotlyJS with ControlSystems as well :slight_smile:

See also this issue on Github:
#785 rlocusplot shows a very long warning with Plots

Plots.jl has multiple different backends and they all have slightly different feature sets. We do nothing to handle the variance between backends and instead rely on Plots.jl doing this for us. I thus suggest consulting the docs for whatever backend you prefer to learn about their features. If our recipes miss something that would be nice to have, please open an issue or a PR and we might be able to add it.

I’ve never used plotlyjs, but plotly has always worked very well for me, including the Bode plot.