On Mon, 27 Jul 2015 at 20:53 Colin Ross <colin.ross....@gmail.com> wrote:
> *Goal:* Shade between I_2 (curve 1) and I_3 (curve 2) with following > conditions: > - Green for 0 < x < 4 > - Red for 4 < x < 12 > > *Code: * > > *Note: Code currently only attempting to shade green for 0 < x < 4 * > > import numpy as np > import pylab > from pylab import * > import matplotlib.pyplot as plt > import csv > > > # Load data from .txt file > > with open('current_mirror_output_swing.csv', 'rb') as f: > reader = csv.reader(f) > your_list = list(reader) > > data = np.asarray(your_list) > > I_ref = np.asarray(data[1:,0]) > I_1 = data[1:,1] > I_2 = data[1:,2] > I_3 = data[1:,3] > > # Create an array of x values to fill b/w curves with a certain color. > > Here you specify the X values for the fill shape as going from 0 to 4: > X1 = np.linspace(0.,4.,len(I_3)) > > I_ref = I_ref.astype(float)*1000. > I_1 = I_1.astype(float)*1000. > I_2 = I_2.astype(float)*1000. > I_3 = I_3.astype(float)*1000. > > > # Plotting commands. > > Here you specify the X values for the line plots as being whatever I_ref is (I don't know what it is since I can't see your csv file): > plot(I_ref, I_2, 'r-') > plot(I_ref, I_3, 'b-') > title('Current Mirror Output Swing') > xlabel('$I_{ref}$ (mA)') > ylabel('I (mA)') > > Try changing this line: > plt.fill_between(X1, I_2, I_3, color = 'g', alpha = '0.5') > to: plt.fill_between(I_ref, I_2, I_3, color = 'g', alpha = '0.5') and then the filled area should have the same X range as the lines. -- Oscar _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor