def draw_dynamics_set(dynamics, xtitle = None, ytitle = None, xlim = None, ylim = None, xlabels = False, ylabels = False):
<EOL>number_dynamics = len(dynamics);<EOL>if (number_dynamics == <NUM_LIT:1>):<EOL><INDENT>draw_dynamics(dynamics[<NUM_LIT:0>][<NUM_LIT:0>], dynamics[<NUM_LIT:0>][<NUM_LIT:1>], xtitle, ytitle, xlim, ylim, xlabels, ylabels);<EOL>return;<EOL><DEDENT>number_cols = int(numpy.ceil(number_dynamics ** <NUM_LIT:0.5>));<EOL>number_rows = int(numpy.ceil(number_dynamics / number_cols));<EOL>real_index = <NUM_LIT:0>, <NUM_LIT:0>;<EOL>double_indexer = True;<EOL>if ( (number_cols == <NUM_LIT:1>) or (number_rows == <NUM_LIT:1>) ):<EOL><INDENT>real_index = <NUM_LIT:0>;<EOL>double_indexer = False;<EOL><DEDENT>(_, axarr) = plt.subplots(number_rows, number_cols);<EOL>for dynamic in dynamics:<EOL><INDENT>axarr[real_index] = draw_dynamics(dynamic[<NUM_LIT:0>], dynamic[<NUM_LIT:1>], xtitle, ytitle, xlim, ylim, xlabels, ylabels, axes = axarr[real_index]);<EOL>if (double_indexer is True):<EOL><INDENT>real_index = real_index[<NUM_LIT:0>], real_index[<NUM_LIT:1>] + <NUM_LIT:1>;<EOL>if (real_index[<NUM_LIT:1>] >= number_cols):<EOL><INDENT>real_index = real_index[<NUM_LIT:0>] + <NUM_LIT:1>, <NUM_LIT:0>; <EOL><DEDENT><DEDENT>else:<EOL><INDENT>real_index += <NUM_LIT:1>;<EOL><DEDENT><DEDENT>plt.show()<EOL>
!
    @brief Draw lists of dynamics of neurons (oscillators) in the network.

    @param[in] dynamics (list): List of network outputs that are represented by values of output of oscillators (used by y axis).
    @param[in] xtitle (string): Title for Y.
    @param[in] ytitle (string): Title for X.
    @param[in] xlim (double): X limit.
    @param[in] ylim (double): Y limit.
    @param[in] xlabels (bool): If True - shows X labels.
    @param[in] ylabels (bool): If True - shows Y labels.