control.sisotool(sys, kvect=None, xlim_rlocus=None, ylim_rlocus=None, plotstr_rlocus='C0', rlocus_grid=False, omega=None, dB=None, Hz=None, deg=None, omega_limits=None, omega_num=None, margins_bode=True, tvect=None)

Sisotool style collection of plots inspired by MATLAB’s sisotool. The left two plots contain the bode magnitude and phase diagrams. The top right plot is a clickable root locus plot, clicking on the root locus will change the gain of the system. The bottom left plot shows a closed loop time response.

  • sys (LTI object) – Linear input/output systems (SISO only)

  • kvect (list or ndarray, optional) – List of gains to use for plotting root locus

  • xlim_rlocus (tuple or list, optional) – control of x-axis range, normally with tuple (see matplotlib.axes).

  • ylim_rlocus (tuple or list, optional) – control of y-axis range

  • plotstr_rlocus (matplotlib.pyplot.plot() format string, optional) – plotting style for the root locus plot(color, linestyle, etc)

  • rlocus_grid (boolean (default = False)) – If True plot s-plane grid.

  • omega (freq_range) – Range of frequencies in rad/sec for the bode plot

  • dB (boolean) – If True, plot result in dB for the bode plot

  • Hz (boolean) – If True, plot frequency in Hz for the bode plot (omega must be provided in rad/sec)

  • deg (boolean) – If True, plot phase in degrees for the bode plot (else radians)

  • omega_limits (tuple, list, .. of two values) – Limits of the to generate frequency vector. If Hz=True the limits are in Hz otherwise in rad/s.

  • omega_num (int) – number of samples

  • margins_bode (boolean) – If True, plot gain and phase margin in the bode plot

  • tvect (list or ndarray, optional) – List of timesteps to use for closed loop step response


>>> sys = tf([1000], [1,25,100,0])
>>> sisotool(sys)