def show_traverse_re_fig(test_data_ids, Ns, samp_range):
    '\n    Plot relative errors from points found by fiber traversal.\n    test_data_ids and Ns should be length-2 lists.\n    Subplots in the first column will show errors networks of size Ns[0] from test_data_ids[0].\n    Similarly the second column draws from Ns[1], test_data_ids[1].\n    Each network sample within samp_range is shown on a separate row.\n    '
    log = True
    mpl.rcParams['mathtext.default'] = 'regular'
    sp = 1
    for samp in samp_range:
        for (test_data_id, N) in zip(test_data_ids, Ns):
            print(('samp %d, N %d' % (samp, N)))
            npz = np.load(('results/traverse_re_%s_N_%d_s_%d.npz' % (test_data_id, N, samp)))
            (m_fx, m_un) = (npz['re_fx'], npz['re_un'])
            ax = plt.subplot(len(samp_range), len(Ns), sp)
            sp += 1
            if (m_un.shape[0] > 0):
                plt.hist(np.log2(m_un), bins=30, log=log, facecolor='k')
            plt.hist(np.log2(m_fx), bins=10, log=log, facecolor='w')
            lo = (10 * (int((np.log2(m_fx).min() / 10)) - 1))
            if (m_un.shape[0] > 0):
                hi = (10 * (int((np.log2(m_un).max() / 10)) + 1))
            else:
                hi = 0
            plt.xticks(range((- 10), 1, 2), ([''] + [('$2^{%d}$' % yl) for yl in range((- 8), 1, 2)]))
            if (N == Ns[0]):
                plt.ylabel('# of points')
            if (samp == samp_range[0]):
                ax.set_title(('N = %d' % N))
            if (samp == samp_range[(- 1)]):
                plt.xlabel('Fiber Relative Error')
    plt.show()
Plot relative errors from points found by fiber traversal.
test_data_ids and Ns should be length-2 lists.
Subplots in the first column will show errors networks of size Ns[0] from test_data_ids[0].
Similarly the second column draws from Ns[1], test_data_ids[1].
Each network sample within samp_range is shown on a separate row.
def show_traverse_re_fig(test_data_ids, Ns, samp_range):
    '\n    Plot relative errors from points found by fiber traversal.\n    test_data_ids and Ns should be length-2 lists.\n    Subplots in the first column will show errors networks of size Ns[0] from test_data_ids[0].\n    Similarly the second column draws from Ns[1], test_data_ids[1].\n    Each network sample within samp_range is shown on a separate row.\n    '
    log = True
    mpl.rcParams['mathtext.default'] = 'regular'
    sp = 1
    for samp in samp_range:
        for (test_data_id, N) in zip(test_data_ids, Ns):
            print(('samp %d, N %d' % (samp, N)))
            npz = np.load(('results/traverse_re_%s_N_%d_s_%d.npz' % (test_data_id, N, samp)))
            (m_fx, m_un) = (npz['re_fx'], npz['re_un'])
            ax = plt.subplot(len(samp_range), len(Ns), sp)
            sp += 1
            if (m_un.shape[0] > 0):
                plt.hist(np.log2(m_un), bins=30, log=log, facecolor='k')
            plt.hist(np.log2(m_fx), bins=10, log=log, facecolor='w')
            lo = (10 * (int((np.log2(m_fx).min() / 10)) - 1))
            if (m_un.shape[0] > 0):
                hi = (10 * (int((np.log2(m_un).max() / 10)) + 1))
            else:
                hi = 0
            plt.xticks(range((- 10), 1, 2), ([] + [('$2^{%d}$' % yl) for yl in range((- 8), 1, 2)]))
            if (N == Ns[0]):
                plt.ylabel('# of points')
            if (samp == samp_range[0]):
                ax.set_title(('N = %d' % N))
            if (samp == samp_range[(- 1)]):
                plt.xlabel('Fiber Relative Error')
    plt.show()