Python matplotlib.pyplot.subplots() Examples
The following are 30
code examples of matplotlib.pyplot.subplots().
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: tests_signal.py From NeuroKit with MIT License | 6 votes |
def test_signal_filter(): signal = np.cos(np.linspace(start=0, stop=10, num=1000)) # Low freq signal += np.cos(np.linspace(start=0, stop=100, num=1000)) # High freq filtered = nk.signal_filter(signal, highcut=10) assert np.std(signal) > np.std(filtered) # Generate 10 seconds of signal with 2 Hz oscillation and added 50Hz powerline-noise. sampling_rate = 250 samples = np.arange(10 * sampling_rate) signal = np.sin(2 * np.pi * 2 * (samples / sampling_rate)) powerline = np.sin(2 * np.pi * 50 * (samples / sampling_rate)) signal_corrupted = signal + powerline signal_clean = nk.signal_filter(signal_corrupted, sampling_rate=sampling_rate, method="powerline") # import matplotlib.pyplot as plt # figure, (ax0, ax1, ax2) = plt.subplots(nrows=3, ncols=1, sharex=True) # ax0.plot(signal_corrupted) # ax1.plot(signal) # ax2.plot(signal_clean * 100) assert np.allclose(sum(signal_clean - signal), -2, atol=0.2)
Example #2
Source File: utils.py From pruning_yolov3 with GNU General Public License v3.0 | 6 votes |
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)
Example #3
Source File: aae.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 z = np.random.normal(size=(r*c, self.latent_dim)) gen_imgs = self.decoder.predict(z) gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close()
Example #4
Source File: bgan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) gen_imgs = self.generator.predict(noise) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close()
Example #5
Source File: gan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) gen_imgs = self.generator.predict(noise) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/%d.png" % epoch) plt.close()
Example #6
Source File: lsgan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) gen_imgs = self.generator.predict(noise) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close()
Example #7
Source File: utils.py From dc_tts with Apache License 2.0 | 6 votes |
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)
Example #8
Source File: pix2pix.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch, batch_i): os.makedirs('images/%s' % self.dataset_name, exist_ok=True) r, c = 3, 3 imgs_A, imgs_B = self.data_loader.load_data(batch_size=3, is_testing=True) fake_A = self.generator.predict(imgs_B) gen_imgs = np.concatenate([imgs_B, fake_A, imgs_A]) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 titles = ['Condition', 'Generated', 'Original'] fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt]) axs[i, j].set_title(titles[i]) axs[i,j].axis('off') cnt += 1 fig.savefig("images/%s/%d_%d.png" % (self.dataset_name, epoch, batch_i)) plt.close()
Example #9
Source File: wgan_gp.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) gen_imgs = self.generator.predict(noise) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close()
Example #10
Source File: wgan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) gen_imgs = self.generator.predict(noise) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close()
Example #11
Source File: acgan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 10, 10 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) sampled_labels = np.array([num for _ in range(r) for num in range(c)]) gen_imgs = self.generator.predict([noise, sampled_labels]) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt,:,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/%d.png" % epoch) plt.close()
Example #12
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 #13
Source File: ccgan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch, imgs): r, c = 3, 6 masked_imgs = self.mask_randomly(imgs) gen_imgs = self.generator.predict(masked_imgs) imgs = (imgs + 1.0) * 0.5 masked_imgs = (masked_imgs + 1.0) * 0.5 gen_imgs = (gen_imgs + 1.0) * 0.5 gen_imgs = np.where(gen_imgs < 0, 0, gen_imgs) fig, axs = plt.subplots(r, c) for i in range(c): axs[0,i].imshow(imgs[i, :, :, 0], cmap='gray') axs[0,i].axis('off') axs[1,i].imshow(masked_imgs[i, :, :, 0], cmap='gray') axs[1,i].axis('off') axs[2,i].imshow(gen_imgs[i, :, :, 0], cmap='gray') axs[2,i].axis('off') fig.savefig("images/%d.png" % epoch) plt.close()
Example #14
Source File: context_encoder.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch, imgs): r, c = 3, 6 masked_imgs, missing_parts, (y1, y2, x1, x2) = self.mask_randomly(imgs) gen_missing = self.generator.predict(masked_imgs) imgs = 0.5 * imgs + 0.5 masked_imgs = 0.5 * masked_imgs + 0.5 gen_missing = 0.5 * gen_missing + 0.5 fig, axs = plt.subplots(r, c) for i in range(c): axs[0,i].imshow(imgs[i, :,:]) axs[0,i].axis('off') axs[1,i].imshow(masked_imgs[i, :,:]) axs[1,i].axis('off') filled_in = imgs[i].copy() filled_in[y1[i]:y2[i], x1[i]:x2[i], :] = gen_missing[i] axs[2,i].imshow(filled_in) axs[2,i].axis('off') fig.savefig("images/%d.png" % epoch) plt.close()
Example #15
Source File: sgan.py From Keras-GAN with MIT License | 6 votes |
def sample_images(self, epoch): r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, self.latent_dim)) gen_imgs = self.generator.predict(noise) # Rescale images 0 - 1 gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i,j].imshow(gen_imgs[cnt, :,:,0], cmap='gray') axs[i,j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close()
Example #16
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 #17
Source File: thames.py From pywr with GNU General Public License v3.0 | 6 votes |
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()
Example #18
Source File: complexity_dimension.py From NeuroKit with MIT License | 6 votes |
def _embedding_dimension_plot( method, dimension_seq, min_dimension, E1=None, E2=None, f1=None, f2=None, f3=None, ax=None ): if ax is None: fig, ax = plt.subplots() else: fig = None ax.set_title("Optimization of Dimension (d)") ax.set_xlabel("Embedding dimension $d$") ax.set_ylabel("$E_1(d)$ and $E_2(d)$") if method in ["afnn"]: ax.plot(dimension_seq[:-1], E1, "bo-", label="$E_1(d)$", color="#FF5722") ax.plot(dimension_seq[:-1], E2, "go-", label="$E_2(d)$", color="#f44336") if method in ["fnn"]: ax.plot(dimension_seq, 100 * f1, "bo--", label="Test I", color="#FF5722") ax.plot(dimension_seq, 100 * f2, "g^--", label="Test II", color="#f44336") ax.plot(dimension_seq, 100 * f3, "rs-", label="Test I + II", color="#852b01") ax.axvline(x=min_dimension, color="#E91E63", label="Optimal dimension: " + str(min_dimension)) ax.legend(loc="upper right") return fig
Example #19
Source File: visualize.py From neat-python with BSD 3-Clause "New" or "Revised" License | 6 votes |
def plot_species(statistics, view=False, filename='speciation.svg'): """ Visualizes speciation throughout evolution. """ if plt is None: warnings.warn("This display is not available due to a missing optional dependency (matplotlib)") return species_sizes = statistics.get_species_sizes() num_generations = len(species_sizes) curves = np.array(species_sizes).T fig, ax = plt.subplots() ax.stackplot(range(num_generations), *curves) plt.title("Speciation") plt.ylabel("Size per Species") plt.xlabel("Generations") plt.savefig(filename) if view: plt.show() plt.close()
Example #20
Source File: visualize.py From neat-python with BSD 3-Clause "New" or "Revised" License | 6 votes |
def plot_species(statistics, view=False, filename='speciation.svg'): """ Visualizes speciation throughout evolution. """ if plt is None: warnings.warn("This display is not available due to a missing optional dependency (matplotlib)") return species_sizes = statistics.get_species_sizes() num_generations = len(species_sizes) curves = np.array(species_sizes).T fig, ax = plt.subplots() ax.stackplot(range(num_generations), *curves) plt.title("Speciation") plt.ylabel("Size per Species") plt.xlabel("Generations") plt.savefig(filename) if view: plt.show() plt.close()
Example #21
Source File: utils.py From kss with Apache License 2.0 | 6 votes |
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')
Example #22
Source File: visualize.py From neat-python with BSD 3-Clause "New" or "Revised" License | 6 votes |
def plot_species(statistics, view=False, filename='speciation.svg'): """ Visualizes speciation throughout evolution. """ if plt is None: warnings.warn("This display is not available due to a missing optional dependency (matplotlib)") return species_sizes = statistics.get_species_sizes() num_generations = len(species_sizes) curves = np.array(species_sizes).T fig, ax = plt.subplots() ax.stackplot(range(num_generations), *curves) plt.title("Speciation") plt.ylabel("Size per Species") plt.xlabel("Generations") plt.savefig(filename) if view: plt.show() plt.close()
Example #23
Source File: visualize.py From neat-python with BSD 3-Clause "New" or "Revised" License | 6 votes |
def plot_species(statistics, view=False, filename='speciation.svg'): """ Visualizes speciation throughout evolution. """ if plt is None: warnings.warn("This display is not available due to a missing optional dependency (matplotlib)") return species_sizes = statistics.get_species_sizes() num_generations = len(species_sizes) curves = np.array(species_sizes).T fig, ax = plt.subplots() ax.stackplot(range(num_generations), *curves) plt.title("Speciation") plt.ylabel("Size per Species") plt.xlabel("Generations") plt.savefig(filename) if view: plt.show() plt.close()
Example #24
Source File: plot.py From TaskBot with GNU General Public License v3.0 | 6 votes |
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()
Example #25
Source File: data_provider.py From ICDAR-2019-SROIE with MIT License | 6 votes |
def generator(vis=False): image_list = np.array(get_training_data()) print('{} training images in {}'.format(image_list.shape[0], DATA_FOLDER)) index = np.arange(0, image_list.shape[0]) while True: np.random.shuffle(index) for i in index: try: im_fn = image_list[i] im = cv2.imread(im_fn) h, w, c = im.shape im_info = np.array([h, w, c]).reshape([1, 3]) _, fn = os.path.split(im_fn) fn, _ = os.path.splitext(fn) txt_fn = os.path.join(DATA_FOLDER, "label", fn + '.txt') if not os.path.exists(txt_fn): print("Ground truth for image {} not exist!".format(im_fn)) continue bbox = load_annoataion(txt_fn) if len(bbox) == 0: print("Ground truth for image {} empty!".format(im_fn)) continue if vis: for p in bbox: cv2.rectangle(im, (p[0], p[1]), (p[2], p[3]), color=(0, 0, 255), thickness=1) fig, axs = plt.subplots(1, 1, figsize=(30, 30)) axs.imshow(im[:, :, ::-1]) axs.set_xticks([]) axs.set_yticks([]) plt.tight_layout() plt.show() plt.close() yield [im], bbox, im_info except Exception as e: print(e) continue
Example #26
Source File: visualize.py From neat-python with BSD 3-Clause "New" or "Revised" License | 6 votes |
def plot_species(statistics, view=False, filename='speciation.svg'): """ Visualizes speciation throughout evolution. """ if plt is None: warnings.warn("This display is not available due to a missing optional dependency (matplotlib)") return species_sizes = statistics.get_species_sizes() num_generations = len(species_sizes) curves = np.array(species_sizes).T fig, ax = plt.subplots() ax.stackplot(range(num_generations), *curves) plt.title("Speciation") plt.ylabel("Size per Species") plt.xlabel("Generations") plt.savefig(filename) if view: plt.show() plt.close()
Example #27
Source File: olmar.py From fin with MIT License | 6 votes |
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()
Example #28
Source File: momentum.py From fin with MIT License | 6 votes |
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()
Example #29
Source File: traveling_salesman.py From pymoo with Apache License 2.0 | 6 votes |
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()
Example #30
Source File: mf.py From pyscf with Apache License 2.0 | 6 votes |
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()