本文整理匯總了Python中matplotlib.pyplot.subplots方法的典型用法代碼示例。如果您正苦於以下問題:Python pyplot.subplots方法的具體用法?Python pyplot.subplots怎麽用?Python pyplot.subplots使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類matplotlib.pyplot
的用法示例。
在下文中一共展示了pyplot.subplots方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: plot_alignment
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_alignment(alignment, gs, dir=hp.logdir):
"""Plots the alignment.
Args:
alignment: A numpy array with shape of (encoder_steps, decoder_steps)
gs: (int) global step.
dir: Output path.
"""
if not os.path.exists(dir): os.mkdir(dir)
fig, ax = plt.subplots()
im = ax.imshow(alignment)
fig.colorbar(im)
plt.title('{} Steps'.format(gs))
plt.savefig('{}/alignment_{}.png'.format(dir, gs), format='png')
plt.close(fig)
示例2: plot_n_image
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_n_image(X, n):
""" plot first n images
n has to be a square number
"""
pic_size = int(np.sqrt(X.shape[1]))
grid_size = int(np.sqrt(n))
first_n_images = X[:n, :]
fig, ax_array = plt.subplots(nrows=grid_size, ncols=grid_size,
sharey=True, sharex=True, figsize=(8, 8))
for r in range(grid_size):
for c in range(grid_size):
ax_array[r, c].imshow(first_n_images[grid_size * r + c].reshape((pic_size, pic_size)))
plt.xticks(np.array([]))
plt.yticks(np.array([]))
示例3: plot_bidimensional
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_bidimensional(model, test, recon_error, layer, title):
bidimensional_data = model.deepfeatures(test, layer).cbind(recon_error).as_data_frame()
cmap = cm.get_cmap('Spectral')
fig, ax = plt.subplots()
bidimensional_data.plot(kind='scatter',
x='DF.L{}.C1'.format(layer + 1),
y='DF.L{}.C2'.format(layer + 1),
s=500,
c='Reconstruction.MSE',
title=title,
ax=ax,
colormap=cmap)
layer_column = 'DF.L{}.C'.format(layer + 1)
columns = [layer_column + '1', layer_column + '2']
for k, v in bidimensional_data[columns].iterrows():
ax.annotate(k, v, size=20, verticalalignment='bottom', horizontalalignment='left')
fig.canvas.draw()
plt.show()
示例4: visualize_anomaly
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
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()
示例5: plot_images
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_images(imgs, targets, paths=None, fname='images.jpg'):
# Plots training images overlaid with targets
imgs = imgs.cpu().numpy()
targets = targets.cpu().numpy()
# targets = targets[targets[:, 1] == 21] # plot only one class
fig = plt.figure(figsize=(10, 10))
bs, _, h, w = imgs.shape # batch size, _, height, width
bs = min(bs, 16) # limit plot to 16 images
ns = np.ceil(bs ** 0.5) # number of subplots
for i in range(bs):
boxes = xywh2xyxy(targets[targets[:, 0] == i, 2:6]).T
boxes[[0, 2]] *= w
boxes[[1, 3]] *= h
plt.subplot(ns, ns, i + 1).imshow(imgs[i].transpose(1, 2, 0))
plt.plot(boxes[[0, 2, 2, 0, 0]], boxes[[1, 1, 3, 3, 1]], '.-')
plt.axis('off')
if paths is not None:
s = Path(paths[i]).name
plt.title(s[:min(len(s), 40)], fontdict={'size': 8}) # limit to 40 characters
fig.tight_layout()
fig.savefig(fname, dpi=200)
plt.close()
示例6: plot_test_txt
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_test_txt(): # from utils.utils import *; plot_test()
# Plot test.txt histograms
x = np.loadtxt('test.txt', dtype=np.float32)
box = xyxy2xywh(x[:, :4])
cx, cy = box[:, 0], box[:, 1]
fig, ax = plt.subplots(1, 1, figsize=(6, 6))
ax.hist2d(cx, cy, bins=600, cmax=10, cmin=0)
ax.set_aspect('equal')
fig.tight_layout()
plt.savefig('hist2d.jpg', dpi=300)
fig, ax = plt.subplots(1, 2, figsize=(12, 6))
ax[0].hist(cx, bins=600)
ax[1].hist(cy, bins=600)
fig.tight_layout()
plt.savefig('hist1d.jpg', dpi=200)
示例7: plot_results
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
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)
示例8: plot_results_overlay
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
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)
示例9: figures
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def figures(ext, show):
for name, df in TablesRecorder.generate_dataframes('thames_output.h5'):
df.columns = ['Very low', 'Low', 'Central', 'High', 'Very high']
fig, (ax1, ax2) = plt.subplots(figsize=(12, 4), ncols=2, sharey='row',
gridspec_kw={'width_ratios': [3, 1]})
df['2100':'2125'].plot(ax=ax1)
df.quantile(np.linspace(0, 1)).plot(ax=ax2)
if name.startswith('reservoir'):
ax1.set_ylabel('Volume [$Mm^3$]')
else:
ax1.set_ylabel('Flow [$Mm^3/day$]')
for ax in (ax1, ax2):
ax.set_title(name)
ax.grid(True)
plt.tight_layout()
if ext is not None:
fig.savefig(f'{name}.{ext}', dpi=300)
if show:
plt.show()
示例10: plot_alignment
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_alignment(alignment, gs, dir=hp.logdir):
"""Plots the alignment.
Args:
alignment: A numpy array with shape of (encoder_steps, decoder_steps)
gs: (int) global step.
dir: Output path.
"""
if not os.path.exists(dir): os.mkdir(dir)
fig, ax = plt.subplots()
im = ax.imshow(alignment)
fig.colorbar(im)
plt.title('{} Steps'.format(gs))
plt.savefig('{}/alignment_{}.png'.format(dir, gs), format='png')
示例11: plot_attention
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_attention(sentences, attentions, labels, **kwargs):
fig, ax = plt.subplots(**kwargs)
im = ax.imshow(attentions, interpolation='nearest',
vmin=attentions.min(), vmax=attentions.max())
plt.colorbar(im, shrink=0.5, ticks=[0, 1])
plt.setp(ax.get_xticklabels(), rotation=45, ha="right",
rotation_mode="anchor")
ax.set_yticks(range(len(labels)))
ax.set_yticklabels(labels, fontproperties=getChineseFont())
# Loop over data dimensions and create text annotations.
for i in range(attentions.shape[0]):
for j in range(attentions.shape[1]):
text = ax.text(j, i, sentences[i][j],
ha="center", va="center", color="b", size=10,
fontproperties=getChineseFont())
ax.set_title("Attention Visual")
fig.tight_layout()
plt.show()
示例12: analyze
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def analyze(context=None, results=None):
f, (ax1, ax2, ax3) = plt.subplots(3, sharex = True)
ax1.plot(results.portfolio_value, linewidth = 2.0, label = 'porfolio')
ax1.set_title('On-Line Moving Average Reversion')
ax1.set_ylabel('Portfolio value (USD)')
ax1.legend(loc=0)
ax1.grid(True)
ax2.plot(results['AAPL'], color = 'b', linestyle = '-', linewidth = 2.0, label = 'AAPL')
ax2.plot(results['MSFT'], color = 'r', linestyle = '-', linewidth = 2.0, label = 'MSFT')
ax2.set_ylabel('stock price (USD)')
ax2.legend(loc=0)
ax2.grid(True)
ax3.semilogy(results['step_size'], color = 'b', linestyle = '-', linewidth = 2.0, label = 'step-size')
ax3.semilogy(results['variability'], color = 'r', linestyle = '-', linewidth = 2.0, label = 'variability')
ax3.legend(loc=0)
ax3.grid(True)
plt.show()
示例13: analyze
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def analyze(context=None, results=None, benchmark=None):
hist_size = 300
f, (ax1, ax2) = plt.subplots(2, sharex = True)
ax1.plot(results.portfolio_value[hist_size:], linewidth = 2.0, label = 'porfolio')
ax1.set_title('Dual Moving Average Strategy')
ax1.set_ylabel('Portfolio value (USD)')
ax1.legend(loc=0)
ax1.grid(True)
ax2.plot(results['AAPL'][hist_size:], linewidth = 2.0, label = 'AAPL')
ax2.plot(results['short_mavg'][hist_size:], color = 'r', linestyle = '-', linewidth = 2.0, label = 'short mavg')
ax2.plot(results['long_mavg'][hist_size:], color = 'g', linestyle = '-', linewidth = 2.0, label = 'long mavg')
ax2.set_ylabel('AAPL price (USD)')
ax2.legend(loc=0)
ax2.grid(True)
plt.show()
示例14: visualize
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def visualize(problem, x, fig=None, ax=None, show=True, label=True):
with plt.style.context('ggplot'):
if fig is None or ax is None:
fig, ax = plt.subplots()
# plot cities using scatter plot
ax.scatter(problem.cities[:, 0], problem.cities[:, 1], s=250)
if label:
# annotate cities
for i, c in enumerate(problem.cities):
ax.annotate(str(i), xy=c, fontsize=10, ha="center", va="center", color="white")
# plot the line on the path
for i in range(len(x)):
current = x[i]
next_ = x[(i + 1) % len(x)]
ax.plot(problem.cities[[current, next_], 0], problem.cities[[current, next_], 1], 'r--')
fig.suptitle("Route length: %.4f" % problem.get_route_length(x))
if show:
fig.show()
示例15: plot_contour
# 需要導入模塊: from matplotlib import pyplot [as 別名]
# 或者: from matplotlib.pyplot import subplots [as 別名]
def plot_contour(self, w=0.0):
"""
Plot contour with poles of Green's function in the self-energy
SelfEnergy(w) = G(w+w')W(w')
with respect to w' = Re(w')+Im(w')
Poles of G(w+w') are located: w+w'-(E_n-Fermi)+i*eps sign(E_n-Fermi)==0 ==>
w'= (E_n-Fermi) - w -i eps sign(E_n-Fermi)
"""
try :
import matplotlib.pyplot as plt
from matplotlib.patches import Arc, Arrow
except:
print('no matplotlib?')
return
fig,ax = plt.subplots()
fe = self.fermi_energy
ee = self.mo_energy
iee = 0.5-np.array(ee>fe)
eew = ee-fe-w
ax.plot(eew, iee, 'r.', ms=10.0)
pp = list()
pp.append(Arc((0,0),4,4,angle=0, linewidth=2, theta1=0, theta2=90, zorder=2, color='b'))
pp.append(Arc((0,0),4,4,angle=0, linewidth=2, theta1=180, theta2=270, zorder=2, color='b'))
pp.append(Arrow(0,2,0,-4,width=0.2, color='b', hatch='o'))
pp.append(Arrow(-2,0,4,0,width=0.2, color='b', hatch='o'))
for p in pp: ax.add_patch(p)
ax.set_aspect('equal')
ax.grid(True, which='both')
ax.axhline(y=0, color='k')
ax.axvline(x=0, color='k')
plt.ylim(-3.0,3.0)
plt.show()