def plot_mean_sr(sr_list, time_sr, title, y_title, x_title, color=None): '''Plot a list of series using its mean, with error bar using std''' mean_sr, std_sr = util.calc_srs_mean_std(sr_list) max_sr = mean_sr + std_sr min_sr = mean_sr - std_sr max_y = max_sr.tolist() min_y = min_sr.tolist() x = time_sr.tolist() color = color or get_palette(1)[0] main_trace = go.Scatter( x=x, y=mean_sr, mode='lines', showlegend=False, line={ 'color': color, 'width': 1 }, ) envelope_trace = go.Scatter( x=x + x[::-1], y=max_y + min_y[::-1], showlegend=False, line={'color': 'rgba(0, 0, 0, 0)'}, fill='tozerox', fillcolor=lower_opacity(color, 0.2), ) data = [main_trace, envelope_trace] layout = create_layout(title=title, y_title=y_title, x_title=x_title) fig = go.Figure(data, layout) return fig
def calc_consistency(local_strs_list): ''' Calculate consistency for metric con &= 1 - \frac{\sum_{i=0}^N 2 stdev_j(str_{i,j})}{\sum_{i=0}^N avg_j(str_{i,j})} @param Series:local_strs_list A list of multiple series of local strengths from different sessions @returns float:con, Series:local_cons ''' mean_local_strs, std_local_strs = util.calc_srs_mean_std(local_strs_list) local_cons = 1 - 2 * std_local_strs / mean_local_strs con = 1 - 2 * std_local_strs.sum() / mean_local_strs.sum() return con, local_cons