Python 控制颜色顺序并在y=0处绘制一条线

Python 控制颜色顺序并在y=0处绘制一条线,python,matplotlib,Python,Matplotlib,我试图根据这两组数据进行绘图。除了颜色之外,这是有效的。我正在尝试匹配ufile和dfile的颜色,以便ufile[1]和dfiles[1]中的行具有相同的颜色 我怎么能得到呢 #!/usr/bin/env python3 # import np import pylab ufiles = ["dos_u_Co.dat", "dos_u_Fe.dat", "dos_u_Re.dat", "dos_u_tot.dat"] dfiles = ["dos_d_Co.dat", "dos_d_

我试图根据这两组数据进行绘图。除了颜色之外,这是有效的。我正在尝试匹配ufile和dfile的颜色,以便ufile[1]和dfiles[1]中的行具有相同的颜色

我怎么能得到呢

#!/usr/bin/env python3
# import np
import pylab

ufiles = ["dos_u_Co.dat",  "dos_u_Fe.dat",  "dos_u_Re.dat",  "dos_u_tot.dat"]
dfiles = ["dos_d_Co.dat",  "dos_d_Fe.dat",  "dos_d_Re.dat",  "dos_d_tot.dat"]
colors = ('b', 'g', 'r','c')


datalist = [ ( pylab.loadtxt(filename)) for filename in ufiles ]
for data in datalist:
    pylab.plot( data[:,0], data[:,1], label=datalist)

datalist = [ ( pylab.loadtxt(filename)) for filename in dfiles ]
for data in datalist:
    pylab.plot( data[:,0], -1*data[:,1], label=datalist)

pylab.show()
只需在循环通过数据列表时循环颜色,然后使用颜色kwarg设置打印颜色:


亲爱的汤姆:非常感谢。还有一件事:你能不能在设置xlim,ylim时再加一行?我已经尝试过pylab.set_xlim=[-4,3]pylab.ylim=[-4,3],但是它们都没有任何效果。请从上面的行中删除=,例如pylab.xlim[-4,3]
import pylab

ufiles = ["dos_u_Co.dat",  "dos_u_Fe.dat",  "dos_u_Re.dat",  "dos_u_tot.dat"]
dfiles = ["dos_d_Co.dat",  "dos_d_Fe.dat",  "dos_d_Re.dat",  "dos_d_tot.dat"]
colors = ('b', 'g', 'r','c')


datalist = [ ( pylab.loadtxt(filename)) for filename in ufiles ]
for data, color in zip(datalist, colors):
    pylab.plot( data[:,0], data[:,1], color=color, label=datalist)

datalist = [ ( pylab.loadtxt(filename)) for filename in dfiles ]
for data, color in zip(datalist, colors):
    pylab.plot( data[:,0], -1*data[:,1], color=color, label=datalist)

pylab.show()