def spectra(i, **kwargs):
ordered = kwargs.get('<STR_LIT>', False)<EOL>options = kwargs.get('<STR_LIT>', '<STR_LIT>')<EOL>gray = kwargs.get('<STR_LIT>', False)<EOL>CD = {}<EOL>CD['<STR_LIT>'] = (<NUM_LIT:1.0>, <NUM_LIT:0.0>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT:0.0>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT:0.0>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:1.0>, <NUM_LIT:0.5>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:0.5>, <NUM_LIT>, <NUM_LIT:1.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:1.0>, <NUM_LIT>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:0.5>, <NUM_LIT>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT:0.0>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT:1.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:1.0>, <NUM_LIT:1.0>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:0.5>, <NUM_LIT:0.5>, <NUM_LIT:0.5>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT>, <NUM_LIT>, <NUM_LIT>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:0.0>, <NUM_LIT:0.0>, <NUM_LIT:0.0>)  <EOL>CD['<STR_LIT>'] = (<NUM_LIT:1.0>, <NUM_LIT:1.0>, <NUM_LIT:1.0>)  <EOL>if isinstance(i, int):<EOL><INDENT>i = i<EOL><DEDENT>elif isinstance(i, float):<EOL><INDENT>i = int(i)<EOL><DEDENT>elif isinstance(i, str):<EOL><INDENT>dat = CD[i]<EOL>return dat<EOL><DEDENT>DtoL = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>Best = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>']<EOL>Dots = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>']<EOL>ind = i % len(Best)<EOL>dat = CD[Best[ind]]<EOL>col = Best[ind]<EOL>if ordered:  <EOL><INDENT>ind = i % len(DtoL)<EOL>dat = CD[DtoL[ind]]<EOL>col = DtoL[ind]<EOL><DEDENT>if options == "<STR_LIT>":<EOL><INDENT>ind = i % len(Dots)<EOL>dat = CD[Dots[ind]]<EOL>col = Dots[ind]<EOL><DEDENT>if options == "<STR_LIT>":<EOL><INDENT>ind = i % len(DtoL)<EOL>dat = CD[DtoL[ind]]<EOL>col = DtoL[ind]<EOL><DEDENT>gray_value = <NUM_LIT> * dat[<NUM_LIT:0>] + <NUM_LIT> * dat[<NUM_LIT:1>] + <NUM_LIT> * dat[<NUM_LIT:2>]  <EOL>if gray:<EOL><INDENT>return gray_value, gray_value, gray_value<EOL><DEDENT>return dat<EOL>
Define colours by number.
Can be plotted either in order of gray scale or in the 'best' order for
having a strong gray contrast for only three or four lines
:param i: the index to access a colour