Shaun
Shaun

Reputation: 531

Changing colors in plot with loop

I know this question was asked a dozen times but I need help in my specific example. I just don't know why it's not working.

In the end i want 150 different lines but for now I just want to test it with 10 lines.

The aim is to iterate through the colour map and my code looks like this:

import matplotlib.pyplot as plt

jet= plt.get_cmap('jet')
colors = iter(jet(np.linspace(0,1,10)))
for k in range(0,10):
    plt.plot(u_ordered[0*k:42*(k+1)], T_ordered[0*k:42*(k+1)], 'o',
color=next(colors))


plt.xscale('log')
plt.ylabel('T [K]')
plt.xlabel('log u [KJ/g]')
plt.title('T - U (at const. Rho) Plot')
plt.legend(loc="lower right")
plt.savefig('T_u_const_rho_Plot1.pdf')
plt.show()

I keep on getting this for all the 150 lines: enter image description here

Upvotes: 5

Views: 15769

Answers (1)

fuglede
fuglede

Reputation: 18201

In each iteration of your loop, you are plotting over everything that you have already plotted. Try replacing the plotting part with

plt.plot(u_ordered[42*k:42*(k+1)], T_ordered[42*k:42*(k+1)], 'o', color=next(colors))

Upvotes: 11

Related Questions