GithubHelp home page GithubHelp logo

Comments (6)

slivingston avatar slivingston commented on July 19, 2024

Outside of IPython notebooks, you can zoom-in, pan, etc. in Matplotlib plots. I just shared a link via issue #49 to matplotlib.backend_bases.MouseEvent for responding to clicks on points in these plots.

Perhaps there can be two major interactive use-cases: with and without IPython. The former case could be treated with Bokeh, and the latter case with Matplotlib and various GUI hooks that we create.

from python-control.

blinkminster avatar blinkminster commented on July 19, 2024

Clancy,

I use the following code in my ipython notebooks and it makes the plots
interactive (zooming, panning work; this is in the standard Anaconda
distribution on OSX 10.10):

import matplotlib as mlt
mlt.use('nbagg') # makes plots interactive for zooming.

I haven't tested it with python-control yet but I don't see why there would
be a problem.

  • Sawyer

Sawyer B. Fuller, Ph.D.
Harvard School of Engineering and Applied Science
Wyss Institute for Biologically Inspired Engineering
http://people.seas.harvard.edu/~minster/

On Fri, Mar 20, 2015 at 1:55 PM, Clancy Rowley [email protected]
wrote:

I find IPython notebooks a great way to work interactively, and it would
be nice if inline plots could be interactive (e.g., letting you zoom, or
having tool tips show more information). With matplotlib, though, inline
plots are just images, so they cannot be interactive.

There's a new plotting library called Bokeh http://bokeh.pydata.org, an
open-source project led by Continuum Analytics (the wonderful folks that
make Anaconda http://continuum.io/downloads), that looks really nice
for making interactive plots like this. I'd like to try making an alternate
backend one could specify with, say, control.set_backend("bokeh") that
would make commands like bode() and nyquist() generate plots using Bokeh.
The default could still be matplotlib, of course.

Any thoughts or suggestions for other libraries that might be useful for
making interactive plots?

Reply to this email directly or view it on GitHub
#50.

from python-control.

cwrowley avatar cwrowley commented on July 19, 2024

@blinkminster, that is pretty slick! I never new about nbagg. (Incidentally, this also apparently works with the IPython magic %matplotlib nbagg.) I still might give the Bokeh library a try, but this is great to know about.

from python-control.

ilayn avatar ilayn commented on July 19, 2024

I am also wondering about this issue for my library and I have been also trying to find a good basis for this issue. So far I've been experimenting with Bokeh. Things are still wonky as an experiment but I just wanted to also get your opinion about the following prototype

http://nbviewer.jupyter.org/gist/ilayn/f8cf8b0a68c6839dbcc346884511e2ed

There are some issues of course since I'm still learning JS magic but I guess it might serve as a basis. Though I don't follow the same structure as python-control the data will come from somewhere anyway for frequency responses. Hence, from the point on where one has the complex number array this can be used independently. Maybe python-control devs can use this and put more momentum to this kind of development?

from python-control.

murrayrm avatar murrayrm commented on July 19, 2024

See PR #204 and #209 for some initial implementations of this type of functionality.

from python-control.

lucasbellinaso avatar lucasbellinaso commented on July 19, 2024

Hello,
I teach control systems. I recently created an interactive interface with Bokeh for using in Google Colab similar to Sisotool (Matlab): https://github.com/lucasbellinaso/PythonSisoDesignApp
Still needs improvement.

from python-control.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.