def plot_sources(topo, mixmaps, unmixmaps, global_scale=None, fig=None):
    urange, mrange = None, None

    m = len(mixmaps)

    if global_scale:
        tmp = np.asarray(unmixmaps)
        tmp = tmp[np.logical_not(np.isnan(tmp))]
        umax = np.percentile(np.abs(tmp), global_scale)
        umin = -umax
        urange = [umin, umax]

        tmp = np.asarray(mixmaps)
        tmp = tmp[np.logical_not(np.isnan(tmp))]
        mmax = np.percentile(np.abs(tmp), global_scale)
        mmin = -mmax
        mrange = [mmin, mmax]

    y = np.floor(np.sqrt(m * 3 / 4))
    x = np.ceil(m / y)

    if fig is None:
        fig = new_figure()

    axes = []
    for i in range(m):
        axes.append(fig.add_subplot(2 * y, x, i + 1))
        plot_topo(axes[-1], topo, unmixmaps[i], crange=urange)
        axes[-1].set_title(str(i))

        axes.append(fig.add_subplot(2 * y, x, m + i + 1))
        plot_topo(axes[-1], topo, mixmaps[i], crange=mrange)
        axes[-1].set_title(str(i))

    for a in axes:
        a.set_yticks([])
        a.set_xticks([])
        a.set_frame_on(False)

    axes[0].set_ylabel('Unmixing weights')
    axes[1].set_ylabel('Scalp projections')

    return fig
a.any([axis0[, axis1[, ...]]]) <=> any(a, axis=(axis0, axis1, ...))
dataset/ETHPy150Open scot-dev/scot/scot/plotting.py/plot_sources--crossover with--dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/maya/site-packages/pymel-1.0.5/extras/completion/py/pymel/util/arrays.py/Array.any