0

I am trying to plot from these 2 sets of data. This is working, except the color. I am trying to match the colors of ufiles and dfiles, so that line from ufile[1] and dfiles[1] will have same color.

How I can get that?

#!/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()
BaRud
  • 3,055
  • 7
  • 41
  • 89

1 Answers1

1

Just cycle through colors as you cycle though datalist using zip, and then set the plot colour using the color kwarg:

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()
tmdavison
  • 64,360
  • 12
  • 187
  • 165