对每个被绘制的新行迭代颜色和循环

时间:2017-12-22 10:07:15

标签: python python-2.7 matplotlib

我有以下代码:

filenames=sorted((glob.glob('G*_5.csv')))

cycol=cycle('bgrcmky').next

for fname in ((glob.glob('G*_5.csv'))):
    data=np.loadtxt(fname, delimiter=",")
    X=data[:,1]
    Y=data[:,0]
    n=fname.split('_')
    plt.plot(X,Y, c=cycol(), linestyle='--', label=n[0], linewidth=3.0 )

plt.title("Damage Patterns 5'")
plt.xlabel("Base")
plt.ylabel("%")
plt.legend(loc='upper right')
plt.xticks([1, 2, 3, 4, 5])
plt.ylim((0,50))
plt.show() 

其中给出了以下输出:

Output

这很好,但我对颜色有一个问题,因为在cycle('bgrcmky')我只指定了七种颜色。但我需要十个不同的或更多。我登陆了这个网站matplotlib colors,其中陈述了不同的方式来指定颜色。所以我尝试了一些方法,如:

cycol=cycle(["(0.1, 0.2, 0.5)", "(0.1, 0.2, 0.5, 0.3)"]).next

cycol=cycle(["xkcd:sky blue", "xkcd:orange"]).next

但这些都不起作用。那么有没有办法升级我用循环的方法来获得超过七种颜色?

提前致谢:)

0 个答案:

没有答案