Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- Cellular Automata Domany-kinzel - PLOT commands
- Autores:
- THIAGO LINHARES BRANT REIS
- VANDERCI FERNANDES ARRUDA
- Wagner Cipriano.
- Email: wagnao-gmail
- Disciplina: Princípios de Modelagem Matemática. CefetMG
- Prof: Thiago Mattos
- """
- import matplotlib.pyplot as plt
- import getopt, sys
- import importlib
- #Definindo as strings de formatação (cores e formato dos pontos das curvas)
- StrFmtList = [ {'fmt':'k-o', 'mfc':'w', 'mec':'k', 'leg':'P1: 0.20'}, #Círculos pretos
- {'fmt':'r-s', 'mfc':'w', 'mec':'r', 'leg':'P1: 0.50'}, #Quadrado vermelho
- {'fmt':'g-d', 'mfc':'w', 'mec':'g', 'leg':'P1: 0.59'}, #Losango rocho
- {'fmt':'b-^', 'mfc':'w', 'mec':'b', 'leg':'P1: 0.595'}, #Triangulo azul
- {'fmt':'m-<', 'mfc':'w', 'mec':'m', 'leg':'P1: 0.60'}, #Magenta
- {'fmt':'y-v', 'mfc':'w', 'mec':'y', 'leg':'P1: 0.80'}, #Brow
- ]
- def DoPlot(Dados):
- ax = plt.subplot()
- #Labels legenda
- for i in range(len(Dados.ListLeg)):
- if(i < len(StrFmtList)):
- StrFmtList[i]['leg'] = Dados.ListLeg[i]
- for idx in range(len(Dados.Y)):
- ListRMS = Dados.Y[idx]
- Fmt = StrFmtList[idx]
- X = Dados.X
- #Get X Values (P1)
- P2v = None
- if(type(Dados.P1List) == dict):
- #get P2 value
- P2v = str(Fmt['leg'][Fmt['leg'].find('=')+1:]).strip()
- if(P2v):
- X = Dados.P1List[str(P2v)]
- #Gerando as cada curvas no grafico
- plt.plot(X, ListRMS, Fmt['fmt'], label=Fmt['leg'], markerfacecolor=Fmt['mfc'], markeredgecolor=Fmt['mec'], linewidth=Dados.linewidth)
- #Legend Generate
- plt.legend(fontsize='medium', borderpad=1, fancybox=True, frameon=False, loc=Dados.LegLoc) #, bbox_to_anchor=(0.05, 1.02, 2.0, .0001)
- #Escala log log
- if(Dados.Scale == 'loglog'):
- ax.set_xscale('log')
- ax.set_yscale('log')
- #Inserir grade ao fundo do grafico
- plt.grid(True)
- #Configurando titulo do grafico e nome dos eixos
- plt.xlabel(Dados.xlabel)
- plt.ylabel(Dados.ylabel)
- plt.title(Dados.title)
- #Exibir o grafico
- plt.show()
- #
- if(__name__ == '__main__'):
- Help = """
- Cellular Automata Domany-kinzel PLOTS
- Options:
- -f File Data
- """
- #Get params (comand line options)
- opts,args = getopt.getopt(sys.argv[1:],'f:h')
- FileName = None
- for key,val in opts:
- if(key == '-f'): FileName = str(val)
- elif(key == '-h'):
- print(Help); sys.exit(1);
- if(not FileName):
- print(Help); sys.exit(1);
- print('FileName: %s\n' %(FileName))
- #import dados gerados pelo algoritmo ACDK.py
- Dados = importlib.import_module(FileName)
- DoPlot(Dados)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement