2017-02-17 36 views
0

我想从这两组数据中作图。这是工作,除了颜色。我试图匹配ufiles和dfiles的颜色,以使ufile [1]和dfiles [1]中的行具有相同的颜色。控制颜色顺序,并在y = 0处画一条线

我怎么能得到它?通过colors

#!/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() 

回答

1

只是周期你循环使用,虽然zip,然后使用color kwarg集剧情颜色datalist

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

亲爱的汤姆:非常感谢。 – BaRud

+0

还有一件事:你能不能请添加一行来设置xlim,ylim?我试过'pylab.set_xlim =([ - 4,3]) pylab.ylim =([ - 4,3])' 但它们没有任何影响 – BaRud

+1

从上面的行中删除'='例如'pylab.xlim([ - 4,3])' – tom