Dear Users,

I

want to plot a XY, the X-value is constant, but let assume Y varees from 1-10, so I want o have different colors accordingly for the range 0-2,2-4,4-6,6-8,8-10.

thanks a lot

najren

Dear Users,

I

want to plot a XY, the X-value is constant, but let assume Y varees from 1-10, so I want o have different colors accordingly for the range 0-2,2-4,4-6,6-8,8-10.

thanks a lot

najren

There is undoubtedly a more efficient way to do this, but give this a shot:

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(0, 10.5, 0.5)

y = -3.0*x + 0.5*x**2

color_list = ['FireBrick', 'Orange', 'DarkGreen', 'DarkBlue', 'Indigo']

limits = np.arange(0, 11, 2)

fig, ax1 = plt.subplots()

for n, color in enumerate(color_list):

lower = np.where(x >= limits[n])[0]

upper = np.where(x <= limits[n+1])[0]

index = np.intersect1d(lower, upper)

ax1.plot(x[index], y[index], linestyle='-', color=color, linewidth=2)

plt.show()

HTH,

-paul

On Fri, Jan 27, 2012 at 8:12 AM, nahren manuel <meetnahren@...9...> wrote:

Dear Users,

I want to plot a XY, the X-value is constant, but let assume Y varees from

1-10, so I want o have different colors accordingly for the range

0-2,2-4,4-6,6-8,8-10.thanks a lot

najren------------------------------------------------------------------------------

Try before you buy = See our experts in action!

The most comprehensive online learning library for Microsoft developers

is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,

Metro Style Apps, more. Free future releases when you subscribe now!

http://p.sf.net/sfu/learndevnow-dev2

_______________________________________________

Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Paul Hobson, on 2012-01-28 23:21, wrote:

There is undoubtedly a more efficient way to do this, but give this a shot:

import numpy as np

import matplotlib.pyplot as pltx = np.arange(0, 10.5, 0.5)

y = -3.0*x + 0.5*x**2color_list = ['FireBrick', 'Orange', 'DarkGreen', 'DarkBlue', 'Indigo']

limits = np.arange(0, 11, 2)

fig, ax1 = plt.subplots()

for n, color in enumerate(color_list):

lower = np.where(x >= limits[n])[0]

upper = np.where(x <= limits[n+1])[0]

index = np.intersect1d(lower, upper)

ax1.plot(x[index], y[index], linestyle='-', color=color, linewidth=2)

Another way (if you're ok with only coloring the markers) would

be to use ax1.scatter(x,y,c=colorlist) where the length of all

three arguments is the same. Scatter can do that with the size of

the markers by passing the s= argument.

best,

--

Paul Ivanov

314 address only used for lists, off-list direct email at:

http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7

There is undoubtedly a more efficient way to do this, but give this a shot:

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(0, 10.5, 0.5)

y = -3.0

x + 0.5x**2color_list = [‘FireBrick’, ‘Orange’, ‘DarkGreen’, ‘DarkBlue’, ‘Indigo’]

limits = np.arange(0, 11, 2)

fig, ax1 = plt.subplots()

for n, color in enumerate(color_list):

`lower = np.where(x >= limits[n])[0] upper = np.where(x <= limits[n+1])[0] index = np.intersect1d(lower, upper) ax1.plot(x[index], y[index], linestyle='-', color=color, linewidth=2)`

plt.show()

HTH,

-paul

Alternatively, you could replace the loop above with::

```
indexes = np.searchsorted(x, limits)
# add 1 to end index so that segments overlap
for i0, i1, color in zip(indexes[:-1], indexes[1:]+1, color_list):
ax1.plot(x[i0:i1], y[i0:i1], linestyle='-', color=color, linewidth=2)
```

This is not much different than Paul’s example—just whatever you find more readable.

-Tony

On Sun, Jan 29, 2012 at 2:21 AM, Paul Hobson <pmhobson@…120…287…> wrote:

On Fri, Jan 27, 2012 at 8:12 AM, nahren manuel <meetnahren@…9…> wrote:

Dear Users,

I want to plot a XY, the X-value is constant, but let assume Y varees from

1-10, so I want o have different colors accordingly for the range

0-2,2-4,4-6,6-8,8-10.

thanks a lot

najren

Try before you buy = See our experts in action!

The most comprehensive online learning library for Microsoft developers

is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,

Metro Style Apps, more. Free future releases when you subscribe now!

Matplotlib-users mailing list

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Try before you buy = See our experts in action!

The most comprehensive online learning library for Microsoft developers

is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,

Metro Style Apps, more. Free future releases when you subscribe now!

http://p.sf.net/sfu/learndevnow-dev2

Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users