用循环改变绘图中的颜色

时间:2017-03-11 09:26:31

标签: python matplotlib plot colors

我知道这个问题被问了十几次,但我在具体的例子中需要帮助。我只是不知道它为什么不起作用。

最后我想要150条不同的线条但是现在我只想用10条线进行测试。

目标是遍历颜色映射,我的代码如下所示:

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

我继续为所有150行获取此信息: enter image description here

1 个答案:

答案 0 :(得分:2)

在循环的每次迭代中,您正在绘制已绘制的所有内容。尝试用

替换绘图部分
plt.plot(u_ordered[42*k:42*(k+1)], T_ordered[42*k:42*(k+1)], 'o', color=next(colors))