Re: [Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-29 Thread Colin Ross
On Tue, Jul 28, 2015 at 11:03 AM, Oscar Benjamin  wrote:

> On Mon, 27 Jul 2015 at 20:53 Colin Ross  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
>

Thanks! This works now.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-28 Thread Oscar Benjamin
On Mon, 27 Jul 2015 at 20:53 Colin Ross  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


Re: [Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-28 Thread Colin Ross
On Tue, Jul 28, 2015 at 6:13 AM, Alan Gauld 
wrote:

> On 28/07/15 01:00, Colin Ross wrote:
>
>  *Issue: *

 See attached figure.

 Thank you.


>>> There is no attachment to see, sorry :(
>>>
>>>
>> My apologies. SHould be there now!
>>
>
> The problem is a lot of mailing list servers (and even some
> corporate mail servers) strip off attachments. In this case
> I still can't see one so something between you and me is
> stripping it. It may even be that some people will see it
> and others don't.
>
> For that reason it's usually better if you have access to
> some web space to post the image there and provide a URL.
> Or at least provide a textual description for those who
> can't see the image.
>
> hth
> --
> Alan G
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
> http://www.amazon.com/author/alan_gauld
> Follow my photo-blog on Flickr at:
> http://www.flickr.com/photos/alangauldphotos
>
>
>
It appears to be taking the entire area between the two curves and
compressing it between the specified x values. When I specify the entire x
range, the shaded area fits between the two curves perfectly. However, when
I specify a smaller range of x values, the shape of the area between the
two curves appears to be elongated vertically as though it is trying to
squeeze the total area into the smaller x range (i.e. it does not follow
the upper and lower limits anymore). I hope this makes sense, I will try
and post a URL...



>
> ___
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-28 Thread Alan Gauld

On 28/07/15 01:00, Colin Ross wrote:


*Issue: *

See attached figure.

Thank you.



There is no attachment to see, sorry :(



My apologies. SHould be there now!


The problem is a lot of mailing list servers (and even some
corporate mail servers) strip off attachments. In this case
I still can't see one so something between you and me is
stripping it. It may even be that some people will see it
and others don't.

For that reason it's usually better if you have access to
some web space to post the image there and provide a URL.
Or at least provide a textual description for those who
can't see the image.

hth
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-28 Thread Colin Ross
On Mon, Jul 27, 2015 at 5:01 PM, Mark Lawrence 
wrote:

> On 27/07/2015 19:47, Colin Ross 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.
>>
>> 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.
>>
>> plot(I_ref, I_2, 'r-')
>> plot(I_ref, I_3, 'b-')
>> title('Current Mirror Output Swing')
>> xlabel('$I_{ref}$ (mA)')
>> ylabel('I (mA)')
>>
>> plt.fill_between(X1, I_2, I_3, color = 'g', alpha = '0.5')
>> plt.legend(['$I_{ref}$', '$I_{out}$'], loc='upper left')
>> plt.grid()
>>
>> show()
>>
>> *Issue: *
>>
>> See attached figure.
>>
>> Thank you.
>>
>
> There is no attachment to see, sorry :(
>

My apologies. SHould be there now!


>
> One thing to note about the following lines.
>
> from pylab import *
> import matplotlib.pyplot as plt
>
> The first was designed to make matplotlib easy to use interactively,
> especially in iPython, the second in a script.  IIRC the former is
> deprecated so I suggest you stick with the latter.


Great, thank you!


>
>
> --
> My fellow Pythonistas, ask not what our language can do for you, ask
> what you can do for our language.
>
> Mark Lawrence
>
> ___
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
>
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-27 Thread Mark Lawrence

On 27/07/2015 19:47, Colin Ross 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.

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.

plot(I_ref, I_2, 'r-')
plot(I_ref, I_3, 'b-')
title('Current Mirror Output Swing')
xlabel('$I_{ref}$ (mA)')
ylabel('I (mA)')

plt.fill_between(X1, I_2, I_3, color = 'g', alpha = '0.5')
plt.legend(['$I_{ref}$', '$I_{out}$'], loc='upper left')
plt.grid()

show()

*Issue: *

See attached figure.

Thank you.


There is no attachment to see, sorry :(

One thing to note about the following lines.

from pylab import *
import matplotlib.pyplot as plt

The first was designed to make matplotlib easy to use interactively, 
especially in iPython, the second in a script.  IIRC the former is 
deprecated so I suggest you stick with the latter.


--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor


[Tutor] Shading Between Curves with Different Colour Over Specified X value Range

2015-07-27 Thread Colin Ross
*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.

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.

plot(I_ref, I_2, 'r-')
plot(I_ref, I_3, 'b-')
title('Current Mirror Output Swing')
xlabel('$I_{ref}$ (mA)')
ylabel('I (mA)')

plt.fill_between(X1, I_2, I_3, color = 'g', alpha = '0.5')
plt.legend(['$I_{ref}$', '$I_{out}$'], loc='upper left')
plt.grid()

show()

*Issue: *

See attached figure.

Thank you.
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor