简体   繁体   中英

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: 在此处输入图片说明

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))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM