Python seaborn.tsplot() Examples
The following are 23
code examples of seaborn.tsplot().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
seaborn
, or try the search function
.
Example #1
Source File: plot.py From berkeleydeeprlcourse-homework-pytorch with MIT License | 6 votes |
def plot_data(data, time="Iteration", value="AverageReturn", combine=False): if isinstance(data, list): data = pd.concat(data, ignore_index=True) plt.figure(figsize=(16, 9)) sns.set(style="darkgrid", font_scale=1.5) if not combine: sns.tsplot(data=data, time=time, value=value, unit="Unit", condition="Condition") else: df1 = data.loc[:, [time, value[0], 'Condition']] df1['Statistics'] = value[0] df1.rename(columns={value[0]:'Value', 'Condition':'ExpName'}, inplace = True) df2 = data.loc[:, [time, value[1], 'Condition']] df2['Statistics'] = value[1] df2.rename(columns={value[1]:'Value', 'Condition':'ExpName'}, inplace = True) data = pd.concat([df1, df2], ignore_index=True) sns.lineplot(x=time, y='Value', hue='ExpName', style='Statistics', data=data) plt.legend(loc='best').draggable() plt.savefig('result.png', bbox_inches='tight') plt.show()
Example #2
Source File: plot_return.py From MinAtar with GNU General Public License v3.0 | 6 votes |
def plot_avg_return(file_name, granularity): plotting_data = torch.load(file_name + "_processed_data") returns = plotting_data['returns'] unique_frames = plotting_data['unique_frames'] x_len = len(unique_frames) x_index = [i for i in numpy.arange(0, x_len, granularity)] x = unique_frames[::granularity] y = numpy.transpose(numpy.array(returns)[x_index, :]) f, ax = plt.subplots(1, 1, figsize=[3, 2], dpi=300) sns.set_style("ticks") sns.set_context("paper") # Find the order of magnitude of the last frame order = int(math.log10(unique_frames[-1])) range_frames = int(unique_frames[-1]/ (10**order)) sns.tsplot(data=y, time=numpy.array(x)/(10**order), color='b') ax.set_xticks(numpy.arange(range_frames + 1)) plt.show() f.savefig(file_name + "_avg_return.pdf", bbox_inches="tight") plt.close(f)
Example #3
Source File: plotting.py From nltools with MIT License | 6 votes |
def roc_plot(fpr, tpr): """ Plot 1-Specificity by Sensitivity Args: fpr: false positive rate from Roc.calculate tpr: true positive rate from Roc.calculate Returns: fig: Will return a matplotlib ROC plot """ plt.figure() plt.plot(fpr, tpr, color="red", linewidth=3) # fig = sns.tsplot(tpr,fpr,color='red',linewidth=3) plt.xlabel("(1 - Specificity)", fontsize=16) plt.ylabel("Sensitivity", fontsize=16) plt.title("ROC Plot", fontsize=18) return
Example #4
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #5
Source File: roc.py From interact with MIT License | 5 votes |
def plot_roc_curve_from_df( df, auc_dict_list=None, output_filepath=None, figsize=(6, 6) ): """From a df with multiple methods plot a roc curve using sns.tspot.""" xlabel = 'False Discovery Rate' ylabel = 'True Positive Rate' title = 'Receiver Operating Characteristic' # rename method name to include AUC to show it in legend if auc_dict_list: for method in auc_dict_list.keys(): mean_auc = np.mean(auc_dict_list[method]) method_indices = df['method'] == method df['mean_auc'] = mean_auc df.loc[method_indices, 'method'] = ( '{} '.format( method.capitalize() if method != 'INtERAcT' else method ) + 'AUC=%0.2f' % mean_auc ) df = df.sort_values(by='method') df.rename(columns={'method': ''}, inplace=True) # to avoid legend title plt.figure(figsize=figsize) sns.set_style("whitegrid", {'axes.grid': False}) sns.tsplot( data=df, time='XX', value='YY', condition='', unit='pathway', legend=True ) plt.xlim([0, 1]) plt.ylim([0, 1]) plt.xlabel(xlabel) plt.ylabel(ylabel) plt.title(title) if output_filepath: plt.savefig(output_filepath, bbox_inches='tight')
Example #6
Source File: plot.py From berkeleydeeprlcourse-homework-pytorch with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #7
Source File: result_plotter.py From rl-benchmark with Apache License 2.0 | 5 votes |
def plot_reward_by_second(self, ax=None): self.make_palette() full_data = pd.DataFrame() for idx, (benchmark_data, name) in enumerate(self.benchmarks): plot_data = to_timeseries(benchmark_data, x_label="Second", y_label="Average Episode Reward", target=rewards_by_second, cut_x=benchmark_data.min_x('seconds'), smooth=10) plot_data['Benchmark'] = name full_data = full_data.append(plot_data) plot = sns.tsplot(data=full_data, time="Second", value="Average Episode Reward", unit="experiment", condition='Benchmark', ax=ax, ci=[68, 95], color=self.palette) return plot
Example #8
Source File: result_plotter.py From rl-benchmark with Apache License 2.0 | 5 votes |
def plot_reward_by_timestep(self, ax=None): self.make_palette() full_data = pd.DataFrame() for idx, (benchmark_data, name) in enumerate(self.benchmarks): plot_data = to_timeseries(benchmark_data, x_label="Time step", y_label="Average Episode Reward", target=rewards_by_timestep, cut_x=benchmark_data.min_x('timesteps'), smooth=10) plot_data['Benchmark'] = name full_data = full_data.append(plot_data) plot = sns.tsplot(data=full_data, time="Time step", value="Average Episode Reward", unit="experiment", condition='Benchmark', ax=ax, ci=[68, 95], color=self.palette) return plot
Example #9
Source File: result_plotter.py From rl-benchmark with Apache License 2.0 | 5 votes |
def plot_reward_by_episode(self, ax=None): self.make_palette() full_data = pd.DataFrame() for idx, (benchmark_data, name) in enumerate(self.benchmarks): plot_data = to_timeseries(benchmark_data, x_label="Episode", y_label="Average Episode Reward", target=rewards_by_episode, cut_x=benchmark_data.min_x('episodes'), smooth=10) plot_data['Benchmark'] = name full_data = full_data.append(plot_data) plot = sns.tsplot(data=full_data, time="Episode", value="Average Episode Reward", unit="experiment", condition='Benchmark', ax=ax, ci=[68, 95], color=self.palette) return plot
Example #10
Source File: plots.py From AlphaPy with Apache License 2.0 | 5 votes |
def plot_time_series(df, target, tag='eda', directory=None): r"""Plot time series data. Parameters ---------- df : pandas.DataFrame The dataframe containing the ``target`` feature. target : str The target variable for the time series plot. tag : str Unique identifier for the plot. directory : str, optional The full specification of the plot location. Returns ------- None : None. References ---------- http://seaborn.pydata.org/generated/seaborn.tsplot.html """ logger.info("Generating Time Series Plot") # Generate the time series plot ts_plot = sns.tsplot(data=df[target]) ts_fig = ts_plot.get_figure() # Save the plot write_plot('seaborn', ts_fig, 'time_series_plot', tag, directory) # # Function plot_candlestick #
Example #11
Source File: train_mnist.py From models with MIT License | 5 votes |
def visualize(result, name): # (N_samples=5, timesteps=200, types) result = np.array(result) assert result.shape[2] == 2 # ax = sns.tsplot(data=result, condition=['OptNet', 'Adam'], linestyle='--') def trans(series): # (N_samples, timesteps) x = np.tile(np.arange(series.shape[1]) + 1, (series.shape[0], 1)).flatten() y = series.flatten() return {'x': x, 'y': y} ax = sns.lineplot(label='OptNet', **trans(result[:, :, 0])) ax = sns.lineplot(label='Adam', ax=ax, **trans(result[:, :, 1])) ax.lines[-1].set_linestyle('-') ax.legend() plt.yscale('log'), plt.xlabel('steps') plt.ylabel('loss'), plt.title('MNIST') plt.ylim(0.09, 3.0) plt.xlim(1, result.shape[1]) plt.grid(which='both', alpha=0.6, color='black', linewidth=0.1, linestyle='-') ax.tick_params(which='both', direction='in') ax.tick_params(which='major', length=8) ax.tick_params(which='minor', length=3) ax.xaxis.set_minor_locator(AutoMinorLocator(5)) plt.show() plt.savefig(name) plt.close()
Example #12
Source File: plot.py From deep-reinforcement-learning with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #13
Source File: plot.py From deep-reinforcement-learning with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #14
Source File: analysis.py From perses with MIT License | 5 votes |
def plot_work_trajectories(self, environment, filename): """ Plot the NCMC work trajectories for the given environment and each attempted transition Parameters ---------- environment : str Name of environment filename : str Name of output file """ w_t = {state_transition : [] for state_transition in self._state_transitions[environment]} for iteration in range(self._n_exen_iterations[environment]): logP_ncmc_trajectory = self._ncfile.groups[environment]['NCMCEngine']['protocolwork'][iteration, :] state_key = self._storage.get_object(environment, "ExpandedEnsembleSampler", "state_key", iteration) proposed_state_key = self._storage.get_object(environment, "ExpandedEnsembleSampler", "proposed_state_key", iteration) if state_key == proposed_state_key: continue w_t[(state_key, proposed_state_key)].append(-logP_ncmc_trajectory) w_t_stacked = {state_transition: np.stack(work_trajectories) for state_transition, work_trajectories in w_t.items()} with PdfPages(filename) as pdf: sns.set(font_scale=2) for state_transition, work_array in w_t_stacked.items(): fig = plt.figure(figsize=(28, 12)) ax1 = sns.tsplot(work_array, color="Blue") iupac_transition = self._state_transition_to_iupac(state_transition) plt.title("{} => {} transition {} work trajectory".format(iupac_transition[0], iupac_transition[1], "NCMC")) plt.xlabel("step (1fs)") plt.ylabel("Work / kT") plt.tight_layout() pdf.savefig(fig) plt.close()
Example #15
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #16
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #17
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #18
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def plot_data(data, value="AverageReturn"): if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time="Iteration", value=value, unit="Unit", condition="Condition") plt.legend(loc='best').draggable() plt.show()
Example #19
Source File: data_viewing.py From lumin with Apache License 2.0 | 4 votes |
def plot_kdes_from_bs(x:np.ndarray, bs_stats:Dict[str,Any], name2args:Dict[str,Dict[str,Any]], feat:str, units:Optional[str]=None, moments=True, savename:Optional[str]=None, settings:PlotSettings=PlotSettings()) -> None: r''' Plots KDEs computed via :meth:`~lumin.utils.statistics.bootstrap_stats` Arguments: bs_stats: (filtered) dictionary retruned by :meth:`~lumin.utils.statistics.bootstrap_stats` name2args: Dictionary mapping names of different distributions to arguments to pass to seaborn tsplot feat: Name of feature being plotted (for axis lablels) units: Optional units to show on axes moments: whether to display mean and standard deviation of each distribution savename: Optional name of file to which to save the plot of feature importances settings: :class:`~lumin.plotting.plot_settings.PlotSettings` class to control figure appearance ''' # TODO: update to sns 9 with sns.axes_style(**settings.style), sns.color_palette(settings.cat_palette) as palette: plt.figure(figsize=(settings.w_mid, settings.h_mid)) for i, name in enumerate(name2args): if 'color' not in name2args[name]: name2args[name]['color'] = palette[i] if 'label' in name2args[name]: name2args[name]['condition'] = name2args[name]['label'] name2args[name].pop('label') if 'condition' in name2args[name] and moments: mean, mean_unc = uncert_round(np.mean(bs_stats[f'{name}_mean']), np.std(bs_stats[f'{name}_mean'], ddof=1)) std, std_unc = uncert_round(np.mean(bs_stats[f'{name}_std']), np.std(bs_stats[f'{name}_std'], ddof=1)) name2args[name]['condition'] += r', $\overline{x}=' + r'{}\pm{}\ \sigma= {}\pm{}$'.format(mean, mean_unc, std, std_unc) sns.tsplot(data=bs_stats[f'{name}_kde'], time=x, **name2args[name]) plt.legend(loc=settings.leg_loc, fontsize=settings.leg_sz) y_lbl = r'$\frac{1}{N}\ \frac{dN}{d' + feat.replace('$','') + r'}$' if units is not None: x_lbl = feat + r'$\ [' + units + r']$' y_lbl += r'$\ [' + units + r'^{-1}]$' else: x_lbl = feat plt.xlabel(x_lbl, fontsize=settings.lbl_sz, color=settings.lbl_col) plt.ylabel(y_lbl, fontsize=settings.lbl_sz, color=settings.lbl_col) plt.xticks(fontsize=settings.tk_sz, color=settings.tk_col) plt.yticks(fontsize=settings.tk_sz, color=settings.tk_col) plt.title(settings.title, fontsize=settings.title_sz, color=settings.title_col, loc=settings.title_loc) if savename is not None: plt.savefig(settings.savepath/f'{savename}{settings.format}', bbox_inches='tight') plt.show()
Example #20
Source File: util.py From pregel with MIT License | 4 votes |
def plot_loss_curves(train_loss_runs, validation_loss_runs, dataset_name, model_params): fontsize = 20 def _tsplot(list_data, label, color): '''Wrapper method over tsplot''' data = np.asarray(list_data) y_axis = np.linspace(0, data.shape[1] - 1, data.shape[1]) ax = sns.tsplot(data=data, ci="sd", color=color, condition=[label], legend=True, time=y_axis, ) plt.setp(ax.get_legend().get_texts(), fontsize=fontsize) return ax train_ax = _tsplot(list_data=train_loss_runs, color="b", label="Loss for training data" ) val_ax = _tsplot(list_data=validation_loss_runs, color="r", label="Loss for validation data" ) val_ax.set(xlabel="Number of epochs", ylabel="Loss value") title = "Training and validation curve for {} dataset using {} model".format( dataset_name.capitalize(), model_params.model_name.upper()) if(model_params.model_name in set([GCN, GCN_POLY, GCN_AE, GCN_VAE])): title = title+" with support size = " + str(model_params.support_size) for item in ([val_ax.xaxis.label, val_ax.yaxis.label] + val_ax.get_xticklabels() + val_ax.get_yticklabels()): item.set_fontsize(fontsize) plt.savefig(title + ".png", bbox_inches='tight') plt.show()
Example #21
Source File: plot.py From spinningup with MIT License | 4 votes |
def plot_data(data, xaxis='Epoch', value="AverageEpRet", condition="Condition1", smooth=1, **kwargs): if smooth > 1: """ smooth data with moving window average. that is, smoothed_y[t] = average(y[t-k], y[t-k+1], ..., y[t+k-1], y[t+k]) where the "smooth" param is width of that window (2k+1) """ y = np.ones(smooth) for datum in data: x = np.asarray(datum[value]) z = np.ones(len(x)) smoothed_x = np.convolve(x,y,'same') / np.convolve(z,y,'same') datum[value] = smoothed_x if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time=xaxis, value=value, unit="Unit", condition=condition, ci='sd', **kwargs) """ If you upgrade to any version of Seaborn greater than 0.8.1, switch from tsplot to lineplot replacing L29 with: sns.lineplot(data=data, x=xaxis, y=value, hue=condition, ci='sd', **kwargs) Changes the colorscheme and the default legend style, though. """ plt.legend(loc='best').set_draggable(True) #plt.legend(loc='upper center', ncol=3, handlelength=1, # borderaxespad=0., prop={'size': 13}) """ For the version of the legend used in the Spinning Up benchmarking page, swap L38 with: plt.legend(loc='upper center', ncol=6, handlelength=1, mode="expand", borderaxespad=0., prop={'size': 13}) """ xscale = np.max(np.asarray(data[xaxis])) > 5e3 if xscale: # Just some formatting niceness: x-axis scale in scientific notation if max x is large plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0)) plt.tight_layout(pad=0.5)
Example #22
Source File: visualization_utils.py From ludwig with Apache License 2.0 | 4 votes |
def calibration_plot( fraction_positives, mean_predicted_values, algorithm_names=None, filename=None ): assert len(fraction_positives) == len(mean_predicted_values) sns.set_style('whitegrid') colors = plt.get_cmap('tab10').colors num_algorithms = len(fraction_positives) plt.figure(figsize=(9, 9)) plt.grid(which='both') plt.grid(which='minor', alpha=0.5) plt.grid(which='major', alpha=0.75) plt.plot([0, 1], [0, 1], 'k:', label='Perfectly calibrated') for i in range(num_algorithms): # ax1.plot(mean_predicted_values[i], fraction_positives[i], # label=algorithms[i] if algorithm_names is not None and i < len(algorithms) else '') # sns.tsplot(mean_predicted_values[i], fraction_positives[i], ax=ax1, color=colors[i]) assert len(mean_predicted_values[i]) == len(fraction_positives[i]) order = min(3, len(mean_predicted_values[i]) - 1) sns.regplot(mean_predicted_values[i], fraction_positives[i], order=order, x_estimator=np.mean, color=colors[i], marker='o', scatter_kws={'s': 40}, label=algorithm_names[ i] if algorithm_names is not None and i < len( algorithm_names) else '') ticks = np.linspace(0.0, 1.0, num=11) plt.xlim([-0.05, 1.05]) plt.xticks(ticks) plt.xlabel('Predicted probability') plt.ylabel('Observed probability') plt.ylim([-0.05, 1.05]) plt.yticks(ticks) plt.legend(loc='lower right') plt.title('Calibration (reliability curve)') plt.tight_layout() ludwig.contrib.contrib_command("visualize_figure", plt.gcf()) if filename: plt.savefig(filename) else: plt.show()
Example #23
Source File: plot.py From teachDeepRL with MIT License | 4 votes |
def plot_data(data, xaxis='Epoch', value="AverageEpRet", condition="Condition1", smooth=1, **kwargs): if smooth > 1: """ smooth data with moving window average. that is, smoothed_y[t] = average(y[t-k], y[t-k+1], ..., y[t+k-1], y[t+k]) where the "smooth" param is width of that window (2k+1) """ y = np.ones(smooth) for datum in data: x = np.asarray(datum[value]) z = np.ones(len(x)) smoothed_x = np.convolve(x,y,'same') / np.convolve(z,y,'same') datum[value] = smoothed_x if isinstance(data, list): data = pd.concat(data, ignore_index=True) sns.set(style="darkgrid", font_scale=1.5) sns.tsplot(data=data, time=xaxis, value=value, unit="Unit", condition=condition, ci='sd', **kwargs) """ If you upgrade to any version of Seaborn greater than 0.8.1, switch from tsplot to lineplot replacing L29 with: sns.lineplot(data=data, x=xaxis, y=value, hue=condition, ci='sd', **kwargs) Changes the colorscheme and the default legend style, though. """ plt.legend(loc='best').draggable() """ For the version of the legend used in the Spinning Up benchmarking page, swap L38 with: plt.legend(loc='upper center', ncol=6, handlelength=1, mode="expand", borderaxespad=0., prop={'size': 13}) """ xscale = np.max(np.asarray(data[xaxis])) > 5e3 if xscale: # Just some formatting niceness: x-axis scale in scientific notation if max x is large plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0)) plt.tight_layout(pad=0.5)