Python matplotlib.pyplot.legend() Examples
The following are 30
code examples of matplotlib.pyplot.legend().
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
matplotlib.pyplot
, or try the search function
.
Example #1
Source File: util.py From neural-fingerprinting with BSD 3-Clause "New" or "Revised" License | 8 votes |
def compute_roc(y_true, y_pred, plot=False): """ TODO :param y_true: ground truth :param y_pred: predictions :param plot: :return: """ fpr, tpr, _ = roc_curve(y_true, y_pred) auc_score = auc(fpr, tpr) if plot: plt.figure(figsize=(7, 6)) plt.plot(fpr, tpr, color='blue', label='ROC (AUC = %0.4f)' % auc_score) plt.legend(loc='lower right') plt.title("ROC Curve") plt.xlabel("FPR") plt.ylabel("TPR") plt.show() return fpr, tpr, auc_score
Example #2
Source File: utils.py From pruning_yolov3 with GNU General Public License v3.0 | 8 votes |
def plot_wh_methods(): # from utils.utils import *; plot_wh_methods() # Compares the two methods for width-height anchor multiplication # https://github.com/ultralytics/yolov3/issues/168 x = np.arange(-4.0, 4.0, .1) ya = np.exp(x) yb = torch.sigmoid(torch.from_numpy(x)).numpy() * 2 fig = plt.figure(figsize=(6, 3), dpi=150) plt.plot(x, ya, '.-', label='yolo method') plt.plot(x, yb ** 2, '.-', label='^2 power method') plt.plot(x, yb ** 2.5, '.-', label='^2.5 power method') plt.xlim(left=-4, right=4) plt.ylim(bottom=0, top=6) plt.xlabel('input') plt.ylabel('output') plt.legend() fig.tight_layout() fig.savefig('comparison.png', dpi=200)
Example #3
Source File: helper.py From Stock-Price-Prediction with MIT License | 7 votes |
def plot_mul(Y_hat, Y, pred_len): """ PLots the predicted data versus true data Input: Predicted data, True Data, Length of prediction Output: return plot Note: Run from timeSeriesPredict.py """ fig = plt.figure(facecolor='white') ax = fig.add_subplot(111) ax.plot(Y, label='Y') # Print the predictions in its respective series-length for i, j in enumerate(Y_hat): shift = [None for p in range(i * pred_len)] plt.plot(shift + j, label='Y_hat') plt.legend() plt.show()
Example #4
Source File: plot_threshold_vs_success_trans.py From pointnet-registration-framework with MIT License | 7 votes |
def make_plot(files, labels): plt.figure() for file_idx in range(len(files)): rot_err, trans_err = read_csv(files[file_idx]) success_dict = count_success(trans_err) x_range = success_dict.keys() x_range.sort() success = [] for i in x_range: success.append(success_dict[i]) success = np.array(success)/total_cases plt.plot(x_range, success, linewidth=3, label=labels[file_idx]) # plt.scatter(x_range, success, s=50) plt.ylabel('Success Ratio', fontsize=40) plt.xlabel('Threshold for Translation Error', fontsize=40) plt.tick_params(labelsize=40, width=3, length=10) plt.grid(True) plt.ylim(0,1.005) plt.yticks(np.arange(0,1.2,0.2)) plt.xticks(np.arange(0,2.1,0.2)) plt.xlim(0,2) plt.legend(fontsize=30, loc=4)
Example #5
Source File: plotFigures.py From fullrmc with GNU Affero General Public License v3.0 | 7 votes |
def plot(PDF, figName, imgpath, show=False, save=True): # plot output = PDF.get_constraint_value() plt.plot(PDF.experimentalDistances,PDF.experimentalPDF, 'ro', label="experimental", markersize=7.5, markevery=1 ) plt.plot(PDF.shellsCenter, output["pdf"], 'k', linewidth=3.0, markevery=25, label="total" ) styleIndex = 0 for key in output: val = output[key] if key in ("pdf_total", "pdf"): continue elif "inter" in key: plt.plot(PDF.shellsCenter, val, STYLE[styleIndex], markevery=5, label=key.split('rdf_inter_')[1] ) styleIndex+=1 plt.legend(frameon=False, ncol=1) # set labels plt.title("$\\chi^{2}=%.6f$"%PDF.squaredDeviations, size=20) plt.xlabel("$r (\AA)$", size=20) plt.ylabel("$g(r)$", size=20) # show plot if save: plt.savefig(figName) if show: plt.show() plt.close()
Example #6
Source File: plot_3.py From cs294-112_hws with MIT License | 6 votes |
def plot_3(data): x = data.Iteration.unique() y_mean = data.groupby('Iteration').mean() y_std = data.groupby('Iteration').std() sns.set(style="darkgrid", font_scale=1.5) value = 'AverageReturn' plt.plot(x, y_mean[value], label=data['Condition'].unique()[0] + '_train'); plt.fill_between(x, y_mean[value] - y_std[value], y_mean[value] + y_std[value], alpha=0.2); value = 'ValAverageReturn' plt.plot(x, y_mean[value], label=data['Condition'].unique()[0] + '_test'); plt.fill_between(x, y_mean[value] - y_std[value], y_mean[value] + y_std[value], alpha=0.2); plt.xlabel('Iteration') plt.ylabel('AverageReturn') plt.legend(loc='best')
Example #7
Source File: plotting.py From pymoo with Apache License 2.0 | 6 votes |
def plot(*args, show=True, labels=None, no_fill=False, **kwargs): F = args[0] if F.ndim == 1: print("Cannot plot a one dimensional array.") return n_dim = F.shape[1] if n_dim == 2: ret = plot_2d(*args, labels=labels, no_fill=no_fill, **kwargs) elif n_dim == 3: ret = plot_3d(*args, labels=labels, no_fill=no_fill, **kwargs) else: print("Cannot plot a %s dimensional array." % n_dim) return if labels: plt.legend() if show: plt.show() return ret
Example #8
Source File: m_dos_pdos_eigenvalues.py From pyscf with Apache License 2.0 | 6 votes |
def dosplot (filename = None, data = None, fermi = None): if (filename is not None): data = np.loadtxt(filename) elif (data is not None): data = data import matplotlib.pyplot as plt from matplotlib import rc plt.rc('text', usetex=True) plt.rc('font', family='serif') plt.plot(data.T[0], data.T[1], label='MF Spin-UP', linestyle=':',color='r') plt.fill_between(data.T[0], 0, data.T[1], facecolor='r',alpha=0.1, interpolate=True) plt.plot(data.T[0], data.T[2], label='QP Spin-UP',color='r') plt.fill_between(data.T[0], 0, data.T[2], facecolor='r',alpha=0.5, interpolate=True) plt.plot(data.T[0],-data.T[3], label='MF Spin-DN', linestyle=':',color='b') plt.fill_between(data.T[0], 0, -data.T[3], facecolor='b',alpha=0.1, interpolate=True) plt.plot(data.T[0],-data.T[4], label='QP Spin-DN',color='b') plt.fill_between(data.T[0], 0, -data.T[4], facecolor='b',alpha=0.5, interpolate=True) if (fermi!=None): plt.axvline(x=fermi ,color='k', linestyle='--') #label='Fermi Energy' plt.axhline(y=0,color='k') plt.title('Total DOS', fontsize=20) plt.xlabel('Energy (eV)', fontsize=15) plt.ylabel('Density of States (electron/eV)', fontsize=15) plt.legend() plt.savefig("dos_eigen.svg", dpi=900) plt.show()
Example #9
Source File: 6_bias_variance.py From deep-learning-note with MIT License | 6 votes |
def plot_learning_curve(X, y, Xval, yval, l=0): training_cost, cv_cost = [], [] m = X.shape[0] for i in range(1, m + 1): # regularization applies here for fitting parameters res = linear_regression_np(X[:i, :], y[:i], l=l) # remember, when you compute the cost here, you are computing # non-regularized cost. Regularization is used to fit parameters only tc = cost(res.x, X[:i, :], y[:i]) cv = cost(res.x, Xval, yval) training_cost.append(tc) cv_cost.append(cv) plt.plot(np.arange(1, m + 1), training_cost, label='training cost') plt.plot(np.arange(1, m + 1), cv_cost, label='cv cost') plt.legend(loc=1)
Example #10
Source File: util.py From neural-fingerprinting with BSD 3-Clause "New" or "Revised" License | 6 votes |
def compute_roc_rfeinman(probs_neg, probs_pos, plot=False): """ TODO :param probs_neg: :param probs_pos: :param plot: :return: """ probs = np.concatenate((probs_neg, probs_pos)) labels = np.concatenate((np.zeros_like(probs_neg), np.ones_like(probs_pos))) fpr, tpr, _ = roc_curve(labels, probs) auc_score = auc(fpr, tpr) if plot: plt.figure(figsize=(7, 6)) plt.plot(fpr, tpr, color='blue', label='ROC (AUC = %0.4f)' % auc_score) plt.legend(loc='lower right') plt.title("ROC Curve") plt.xlabel("FPR") plt.ylabel("TPR") plt.show() return fpr, tpr, auc_score
Example #11
Source File: simulate_sin.py From deep-learning-note with MIT License | 6 votes |
def run_eval(sess, test_X, test_y): ds = tf.data.Dataset.from_tensor_slices((test_X, test_y)) ds = ds.batch(1) X, y = ds.make_one_shot_iterator().get_next() with tf.variable_scope("model", reuse=True): prediction, _, _ = lstm_model(X, [0.0], False) predictions = [] labels = [] for i in range(TESTING_EXAMPLES): p, l = sess.run([prediction, y]) predictions.append(p) labels.append(l) predictions = np.array(predictions).squeeze() labels = np.array(labels).squeeze() rmse = np.sqrt(((predictions-labels) ** 2).mean(axis=0)) print("Mean Square Error is: %f" % rmse) plt.figure() plt.plot(predictions, label='predictions') plt.plot(labels, label='real_sin') plt.legend() plt.show()
Example #12
Source File: lstm_Attention.py From Bidirectiona-LSTM-for-text-summarization- with MIT License | 6 votes |
def plot_training(history): print(history.history.keys()) # "Accuracy" plt.plot(history.history['acc']) plt.plot(history.history['val_acc']) plt.title('model accuracy') plt.ylabel('accuracy') plt.xlabel('epoch') plt.legend(['train', 'validation'], loc='upper left') plt.show() # "Loss" plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('model loss') plt.ylabel('loss') plt.xlabel('epoch') plt.legend(['train', 'validation'], loc='upper left') plt.show()
Example #13
Source File: plot_utils.py From keras-anomaly-detection with MIT License | 6 votes |
def visualize_anomaly(y_true, reconstruction_error, threshold): error_df = pd.DataFrame({'reconstruction_error': reconstruction_error, 'true_class': y_true}) print(error_df.describe()) groups = error_df.groupby('true_class') fig, ax = plt.subplots() for name, group in groups: ax.plot(group.index, group.reconstruction_error, marker='o', ms=3.5, linestyle='', label="Fraud" if name == 1 else "Normal") ax.hlines(threshold, ax.get_xlim()[0], ax.get_xlim()[1], colors="r", zorder=100, label='Threshold') ax.legend() plt.title("Reconstruction error for different classes") plt.ylabel("Reconstruction error") plt.xlabel("Data point index") plt.show()
Example #14
Source File: test.py From MomentumContrast.pytorch with MIT License | 6 votes |
def show(mnist, targets, ret): target_ids = range(len(set(targets))) colors = ['r', 'g', 'b', 'c', 'm', 'y', 'k', 'violet', 'orange', 'purple'] plt.figure(figsize=(12, 10)) ax = plt.subplot(aspect='equal') for label in set(targets): idx = np.where(np.array(targets) == label)[0] plt.scatter(ret[idx, 0], ret[idx, 1], c=colors[label], label=label) for i in range(0, len(targets), 250): img = (mnist[i][0] * 0.3081 + 0.1307).numpy()[0] img = OffsetImage(img, cmap=plt.cm.gray_r, zoom=0.5) ax.add_artist(AnnotationBbox(img, ret[i])) plt.legend() plt.show()
Example #15
Source File: plot_part1.py From cs294-112_hws with MIT License | 6 votes |
def plot_13(data): r1, r2, r3, r4 = data plt.figure() add_plot(r3, 'MeanReward100Episodes'); add_plot(r3, 'BestMeanReward', 'gamma = 0.9'); add_plot(r2, 'MeanReward100Episodes'); add_plot(r2, 'BestMeanReward', 'gamma = 0.99'); add_plot(r4, 'MeanReward100Episodes'); add_plot(r4, 'BestMeanReward', 'gamma = 0.999'); plt.legend(); plt.xlabel('Time step'); plt.ylabel('Reward'); plt.savefig( os.path.join('results', 'p13.png'), bbox_inches='tight', transparent=True, pad_inches=0.1 )
Example #16
Source File: plot_part1.py From cs294-112_hws with MIT License | 6 votes |
def plot_12(data): r1, r2, r3, r4 = data plt.figure() add_plot(r1, 'MeanReward100Episodes'); add_plot(r1, 'BestMeanReward', 'vanilla DQN'); add_plot(r2, 'MeanReward100Episodes'); add_plot(r2, 'BestMeanReward', 'double DQN'); plt.xlabel('Time step'); plt.ylabel('Reward'); plt.legend(); plt.savefig( os.path.join('results', 'p12.png'), bbox_inches='tight', transparent=True, pad_inches=0.1 )
Example #17
Source File: utils.py From pruning_yolov3 with GNU General Public License v3.0 | 6 votes |
def plot_results_overlay(start=0, stop=0): # from utils.utils import *; plot_results_overlay() # Plot training results files 'results*.txt', overlaying train and val losses s = ['train', 'train', 'train', 'Precision', 'mAP', 'val', 'val', 'val', 'Recall', 'F1'] # legends t = ['GIoU', 'Objectness', 'Classification', 'P-R', 'mAP-F1'] # titles for f in sorted(glob.glob('results*.txt') + glob.glob('../../Downloads/results*.txt')): results = np.loadtxt(f, usecols=[2, 3, 4, 8, 9, 12, 13, 14, 10, 11], ndmin=2).T n = results.shape[1] # number of rows x = range(start, min(stop, n) if stop else n) fig, ax = plt.subplots(1, 5, figsize=(14, 3.5)) ax = ax.ravel() for i in range(5): for j in [i, i + 5]: y = results[j, x] if i in [0, 1, 2]: y[y == 0] = np.nan # dont show zero loss values ax[i].plot(x, y, marker='.', label=s[j]) ax[i].set_title(t[i]) ax[i].legend() ax[i].set_ylabel(f) if i == 0 else None # add filename fig.tight_layout() fig.savefig(f.replace('.txt', '.png'), dpi=200)
Example #18
Source File: utils.py From pruning_yolov3 with GNU General Public License v3.0 | 6 votes |
def plot_results(start=0, stop=0): # from utils.utils import *; plot_results() # Plot training results files 'results*.txt' fig, ax = plt.subplots(2, 5, figsize=(14, 7)) ax = ax.ravel() s = ['GIoU', 'Objectness', 'Classification', 'Precision', 'Recall', 'val GIoU', 'val Objectness', 'val Classification', 'mAP', 'F1'] for f in sorted(glob.glob('results*.txt') + glob.glob('../../Downloads/results*.txt')): results = np.loadtxt(f, usecols=[2, 3, 4, 8, 9, 12, 13, 14, 10, 11], ndmin=2).T n = results.shape[1] # number of rows x = range(start, min(stop, n) if stop else n) for i in range(10): y = results[i, x] if i in [0, 1, 2, 5, 6, 7]: y[y == 0] = np.nan # dont show zero loss values ax[i].plot(x, y, marker='.', label=f.replace('.txt', '')) ax[i].set_title(s[i]) if i in [5, 6, 7]: # share train and val loss y axes ax[i].get_shared_y_axes().join(ax[i], ax[i - 5]) fig.tight_layout() ax[1].legend() fig.savefig('results.png', dpi=200)
Example #19
Source File: utils.py From Pytorch-Networks with MIT License | 6 votes |
def plot_result_data(acc_total, acc_val_total, loss_total, losss_val_total, cfg_path, epoch): import matplotlib.pyplot as plt y = range(epoch) plt.plot(y,acc_total,linestyle="-", linewidth=1,label='acc_train') plt.plot(y,acc_val_total,linestyle="-", linewidth=1,label='acc_val') plt.legend(('acc_train', 'acc_val'), loc='upper right') plt.xlabel("Training Epoch") plt.ylabel("Acc on dataset") plt.savefig('{}/acc.png'.format(cfg_path)) plt.cla() plt.plot(y,loss_total,linestyle="-", linewidth=1,label='loss_train') plt.plot(y,losss_val_total,linestyle="-", linewidth=1,label='loss_val') plt.legend(('loss_train', 'loss_val'), loc='upper right') plt.xlabel("Training Epoch") plt.ylabel("Loss on dataset") plt.savefig('{}/loss.png'.format(cfg_path))
Example #20
Source File: analyze_log.py From spinn with MIT License | 6 votes |
def ShowPlots(subplot=False): for log_ind, path in enumerate(FLAGS.path.split(":")): log = Log(path) if subplot: plt.subplot(len(FLAGS.path.split(":")), 1, log_ind + 1) for index in FLAGS.index.split(","): index = int(index) for attr in ["pred_acc", "parse_acc", "total_cost", "xent_cost", "l2_cost", "action_cost"]: if getattr(FLAGS, attr): if "cost" in attr: assert index == 0, "costs only associated with training log" steps, val = zip(*[(l.step, getattr(l, attr)) for l in log.corpus[index] if l.step < FLAGS.iters]) dct = {} for k, v in zip(steps, val): dct[k] = max(v, dct[k]) if k in dct else v steps, val = zip(*sorted(dct.iteritems())) plt.plot(steps, val, label="Log%d:%s-%d" % (log_ind, attr, index)) plt.xlabel("No. of training iteration") plt.ylabel(FLAGS.ylabel) if FLAGS.legend: plt.legend() plt.show()
Example #21
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 #22
Source File: m_ao_log.py From pyscf with Apache License 2.0 | 5 votes |
def view(self): """ Shows a plot of all radial orbitals """ import matplotlib.pyplot as plt for sp in range(self.nspecies): plt.figure(sp+1) plt.title('Orbitals for specie='+ str(sp)+' Znuc='+str(self.sp2charge[sp])) for j,ff in zip(self.sp_mu2j[sp], self.psi_log[sp]): if j>0 : plt.plot(self.rr, ff, '--', label=str(j)) else: plt.plot(self.rr, ff, '-', label=str(j)) #plt.xlim([0.0,3.0]) plt.legend() plt.show()
Example #23
Source File: ao_log.py From pyscf with Apache License 2.0 | 5 votes |
def view(self): """ Shows a plot of all radial orbitals """ import matplotlib.pyplot as plt for sp in range(self.nspecies): plt.figure(sp+1) plt.title('Orbitals for specie='+ str(sp)+' Znuc='+str(self.sp2charge[sp])) for j,ff in zip(self.sp_mu2j[sp], self.psi_log[sp]): if j>0 : plt.plot(self.rr, ff, '--', label=str(j)) else: plt.plot(self.rr, ff, '-', label=str(j)) #plt.xlim([0.0,3.0]) plt.legend() plt.show()
Example #24
Source File: gail-eval.py From lirpg with MIT License | 5 votes |
def plot(env_name, bc_log, gail_log, stochastic): upper_bound = bc_log['upper_bound'] bc_avg_ret = bc_log['avg_ret'] gail_avg_ret = gail_log['avg_ret'] plt.plot(CONFIG['traj_limitation'], upper_bound) plt.plot(CONFIG['traj_limitation'], bc_avg_ret) plt.plot(CONFIG['traj_limitation'], gail_avg_ret) plt.xlabel('Number of expert trajectories') plt.ylabel('Accumulated reward') plt.title('{} unnormalized scores'.format(env_name)) plt.legend(['expert', 'bc-imitator', 'gail-imitator'], loc='lower right') plt.grid(b=True, which='major', color='gray', linestyle='--') if stochastic: title_name = 'result/{}-unnormalized-stochastic-scores.png'.format(env_name) else: title_name = 'result/{}-unnormalized-deterministic-scores.png'.format(env_name) plt.savefig(title_name) plt.close() bc_normalized_ret = bc_log['normalized_ret'] gail_normalized_ret = gail_log['normalized_ret'] plt.plot(CONFIG['traj_limitation'], np.ones(len(CONFIG['traj_limitation']))) plt.plot(CONFIG['traj_limitation'], bc_normalized_ret) plt.plot(CONFIG['traj_limitation'], gail_normalized_ret) plt.xlabel('Number of expert trajectories') plt.ylabel('Normalized performance') plt.title('{} normalized scores'.format(env_name)) plt.legend(['expert', 'bc-imitator', 'gail-imitator'], loc='lower right') plt.grid(b=True, which='major', color='gray', linestyle='--') if stochastic: title_name = 'result/{}-normalized-stochastic-scores.png'.format(env_name) else: title_name = 'result/{}-normalized-deterministic-scores.png'.format(env_name) plt.ylim(0, 1.6) plt.savefig(title_name) plt.close()
Example #25
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def main(): import argparse parser = argparse.ArgumentParser() parser.add_argument('logdir', nargs='*') parser.add_argument('--legend', nargs='*') parser.add_argument('--value', default='LastEpReturn', nargs='*') parser.add_argument('--save_name', type=str, default='results') args = parser.parse_args() if not os.path.exists('results'): os.makedirs('results') use_legend = False if args.legend is not None: assert len(args.legend) == len(args.logdir), \ "Must give a legend title for each set of experiments." use_legend = True data = [] if use_legend: for logdir, legend_title in zip(args.logdir, args.legend): data += get_datasets(logdir, legend_title) else: for logdir in args.logdir: data += get_datasets(logdir) if isinstance(args.value, list): values = args.value else: values = [args.value] for value in values: plot_data(data, value=value) plt.savefig( os.path.join('results', args.save_name + '.png'), bbox_inches='tight', transparent=True, pad_inches=0.1 )
Example #26
Source File: m_dos_pdos_eigenvalues.py From pyscf with Apache License 2.0 | 5 votes |
def pdosplot (filename = None, data = None, size = None, fermi = None): if (filename is not None): data = np.loadtxt(filename).T elif (data is not None): data = data if (size is None): print('Please give number of resolved angular momentum!') if (fermi is None): print ('Please give fermi energy') import matplotlib.pyplot as plt from matplotlib import rc plt.rc('text', usetex=True) plt.rc('font', family='serif') orb_name = ['$s$','$p$','$d$','$f$','$g$','$h$','$i$','$k$'] orb_colo = ['r','g','b','y','k','m','c','w'] for i, (n,c) in enumerate(zip(orb_name[0:size],orb_colo[0:size])): #GW_spin_UP plt.plot(data[0], data[i+1], label='QP- '+n,color=c) plt.fill_between(data[0], 0, data[i+1], facecolor=c, alpha=0.5, interpolate=True) #MF_spin_UP plt.plot(data[0], data[i+size+1], label='MF- '+n, linestyle=':',color=c) plt.fill_between(data[0], 0, data[i+size+1], facecolor=c, alpha=0.1, interpolate=True) #GW_spin_DN plt.plot(data[0], -data[i+2*size+1], label='_nolegend_',color=c) plt.fill_between(data[0], 0, -data[i+2*size+1], facecolor=c, alpha=0.5, interpolate=True) #MF_spin_DN plt.plot(data[0], -data[i+3*size+1], label='_nolegend_', linestyle=':',color=c) plt.fill_between(data[0], 0, -data[i+3*size+1], facecolor=c, alpha=0.1, interpolate=True) plt.axvline(x=fermi, color='k', linestyle='--') #label='Fermi Energy' plt.axhline(y=0,color='k') plt.title('PDOS', fontsize=20) plt.xlabel('Energy (eV)', fontsize=15) plt.ylabel('Projected Density of States (electron/eV)', fontsize=15) plt.legend() plt.savefig("pdos.svg", dpi=900) plt.show()
Example #27
Source File: visualize.py From neat-python with BSD 3-Clause "New" or "Revised" License | 5 votes |
def plot_stats(statistics, ylog=False, view=False, filename='avg_fitness.svg'): """ Plots the population's average and best fitness. """ if plt is None: warnings.warn("This display is not available due to a missing optional dependency (matplotlib)") return generation = range(len(statistics.most_fit_genomes)) best_fitness = [c.fitness for c in statistics.most_fit_genomes] avg_fitness = np.array(statistics.get_fitness_mean()) stdev_fitness = np.array(statistics.get_fitness_stdev()) plt.plot(generation, avg_fitness, 'b-', label="average") #plt.plot(generation, avg_fitness - stdev_fitness, 'g-.', label="-1 sd") plt.plot(generation, avg_fitness + stdev_fitness, 'g-.', label="+1 sd") plt.plot(generation, best_fitness, 'r-', label="best") plt.title("Population's average and best fitness") plt.xlabel("Generations") plt.ylabel("Fitness") plt.grid() plt.legend(loc="best") if ylog: plt.gca().set_yscale('symlog') plt.savefig(filename) if view: plt.show() plt.close()
Example #28
Source File: plot.py From cs294-112_hws with MIT License | 5 votes |
def main(): import argparse parser = argparse.ArgumentParser() parser.add_argument('logdir', nargs='*') parser.add_argument('--legend', nargs='*') parser.add_argument('--value', default='AverageReturn', nargs='*') parser.add_argument('--save_name', type=str, default='results') args = parser.parse_args() if not os.path.exists('results'): os.makedirs('results') use_legend = False if args.legend is not None: assert len(args.legend) == len(args.logdir), \ "Must give a legend title for each set of experiments." use_legend = True data = [] if use_legend: for logdir, legend_title in zip(args.logdir, args.legend): data += get_datasets(logdir, legend_title) else: for logdir in args.logdir: data += get_datasets(logdir) if isinstance(args.value, list): values = args.value else: values = [args.value] for value in values: plot_data(data, value=value) plt.savefig( os.path.join('results', args.save_name + '.png'), bbox_inches='tight', transparent=True, pad_inches=0.1 )
Example #29
Source File: plot_training_log.py From iAI with MIT License | 5 votes |
def plot_chart(chart_type, path_to_png, path_to_log_list): for path_to_log in path_to_log_list: os.system('%s %s' % (get_log_parsing_script(), path_to_log)) data_file = get_data_file(chart_type, path_to_log) x_axis_field, y_axis_field = get_field_descriptions(chart_type) x, y = get_field_indices(x_axis_field, y_axis_field) data = load_data(data_file, x, y) ## TODO: more systematic color cycle for lines color = [random.random(), random.random(), random.random()] label = get_data_label(path_to_log) linewidth = 0.75 ## If there too many datapoints, do not use marker. ## use_marker = False use_marker = True if not use_marker: plt.plot(data[0], data[1], label = label, color = color, linewidth = linewidth) else: marker = random_marker() plt.plot(data[0], data[1], label = label, color = color, marker = marker, linewidth = linewidth) legend_loc = get_legend_loc(chart_type) plt.legend(loc = legend_loc, ncol = 1) # ajust ncol to fit the space plt.title(get_chart_type_description(chart_type)) plt.xlabel(x_axis_field) plt.ylabel(y_axis_field) plt.savefig(path_to_png) plt.show()
Example #30
Source File: thames.py From pywr with GNU General Public License v3.0 | 5 votes |
def plot_res2(ext, show): end_year = '2105' data = {} for name, df in TablesRecorder.generate_dataframes('thames_output.h5'): df.columns = ['Very low', 'Low', 'Central', 'High', 'Very high'] data[name] = df fig1, ax1 = plt.subplots(figsize=(16, 5), dpi=300) data['reservoir1'].loc[:end_year].plot(ax=ax1) ax1.set_ylabel('Volume [$Mm^3$]') plt.legend() plt.tight_layout() fig2, ax2 = plt.subplots(figsize=(16, 5), dpi=300) data['reservoir1'].quantile(np.linspace(0, 1)).plot(ax=ax2) ax2.set_ylabel('Volume [$Mm^3$]') ax2.set_xlabel('Quantile') plt.tight_layout() fig3, ax3 = plt.subplots(figsize=(16, 5), dpi=300) df = data['demand_saving_level'].apply(pandas.Series.value_counts) df /= df.sum(axis=0) df.plot.bar(ax=ax3) ax3.set_ylabel('Proportion of time.') ax3.set_xlabel('Demand saving level') plt.tight_layout() for ax in (ax1, ax2, ax3): ax.grid(True) if ext is not None: fig1.savefig(f'Reservoir (scenarios).{ext}', dpi=300) fig2.savefig(f'Reservoir SDC (scenarios).{ext}', dpi=300) fig3.savefig(f'Demand saving level count (scenarios).{ext}', dpi=300) if show: plt.show()