<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def plot_connectivity_topos(layout='diagonal', topo=None, topomaps=None, fig=None):
 """Place topo plots in a figure suitable for connectivity visualization. .. note:: Parameter `topo` is modified by the function by calling :func:`~eegtopo.topoplot.Topoplot.set_map`. Parameters layout : str 'diagonal' -> place topo plots on diagonal. otherwise -> place topo plots in left column and top row. topo : :class:`~eegtopo.topoplot.Topoplot` This object draws the topo plot topomaps : array, shape = [w_pixels, h_pixels] Scalp-projected map fig : Figure object, optional Figure to plot into. If set to `None`, a new figure is created. Returns ------- fig : Figure object The figure into which was plotted. """


    m = len(topomaps)

    if fig is None:
        fig = new_figure()

    if layout == 'diagonal':
        for i in range(m):
            ax = fig.add_subplot(m, m, i*(1+m) + 1)
            plot_topo(ax, topo, topomaps[i])
            ax.set_yticks([])
            ax.set_xticks([])
            ax.set_frame_on(False)
    else:
        for i in range(m):
            for j in [i+2, (i+1)*(m+1)+1]:
                ax = fig.add_subplot(m+1, m+1, j)
                plot_topo(ax, topo, topomaps[i])
                ax.set_yticks([])
                ax.set_xticks([])
                ax.set_frame_on(False)

    return fig