代码拉取完成,页面将自动刷新
import random,csv,datetime,json
import matplotlib.pyplot as plt
def load_data(localFileName):
with open(localFileName, mode='r') as infile:
reader = csv.reader(infile)
lookup = {row[0]: row[1].split(';') for row in reader if row}
return lookup
def build_rules(items):
rulesAdded = {}
for state, adjacent in items.items():
for adjacentState in adjacent:
if adjacentState == '':
continue
rule = Rule(state, adjacentState)
if rule in rulesAdded:
rulesAdded[rule] += 1
else:
rulesAdded[rule] = 1
for k, v in rulesAdded.items():
if v != 2:
print("rule {0} is not bidirectional".format(k))
return rulesAdded.keys()
class Rule:
def __init__(self, node, adjacent):
if node < adjacent:
node, adjacent = adjacent, node
self.Node = node
self.Adjacent = adjacent
def __eq__(self, other):
return self.Node == other.Node and self.Adjacent == other.Adjacent
def __hash__(self):
return hash(self.Node) * 397 ^ hash(self.Adjacent)
def __str__(self):
return self.Node + " -> " + self.Adjacent
def IsValid(self, genes, nodeIndexLookup):
index = nodeIndexLookup[self.Node]
adjacentNodeIndex = nodeIndexLookup[self.Adjacent]
return genes[index] != genes[adjacentNodeIndex]
class Chromosome:
def __init__(self, genes, fitness):
self.Genes = genes
self.Fitness = fitness
def mutate(parent,geneSet,size):
childGenes = parent.Genes[:]
index = random.randrange(0, len(parent.Genes))
newGene, alternate = random.sample(geneSet, 2)
childGenes[index] = alternate if newGene == childGenes[index] else newGene
fitness = get_fitness(childGenes,rules,size)
return Chromosome(childGenes, fitness)
def display(candidate, startTime):
timeDiff = datetime.datetime.now() - startTime
print("{0}\t{1}\t{2}".format(
''.join(map(str, candidate.Genes)),
candidate.Fitness,
str(timeDiff)))
def get_fitness(genes, rules, stateIndexLookup):
rulesThatPass = sum(1 for rule in rules if rule.IsValid(genes, stateIndexLookup))
return rulesThatPass
states = load_data("./adjacent_states.csv")
rules = build_rules(states)
optimalValue = len(rules)
stateIndexLookup = {key: index
for index, key in enumerate(sorted(states))}
colors = ["Orange", "Yellow", "Green", "Red"]
colorLookup = {color[0]: color for color in colors}
geneset = list(colorLookup.keys())
def get_best():
random.seed()
startTime = datetime.datetime.now()
x = [random.choice(geneset) for i in range(len(stateIndexLookup))]
bestParent = Chromosome(x,get_fitness(x,rules,stateIndexLookup))
if bestParent.Fitness >= optimalValue:
return bestParent
num = 0
while True:
num +=1
child = mutate(bestParent,geneset,stateIndexLookup)
if bestParent.Fitness > child.Fitness:
continue
else:
display(child,startTime)
if child.Fitness >= optimalValue:
return (child,num)
bestParent = child
b = get_best()
ROOYOGOORYRGYROOGGGGROOOGYYRGYRRORGOOYROOGOROGGROGG 74 0:00:00 ROOYOGOORYRGYROOGGGGROOOGYYRGYRRORGOOYROOROROGGROGG 76 0:00:00 RORYOGOORYRGYROOGGGGROOOGYYRGYRRORGOOYROOROROGGROGG 77 0:00:00 RORYOGOORYRGYROOGGGGGOOOGYYRGYRRORGOOYROOROROGGROGG 77 0:00:00 RORYOGOORYRGYROOGGGGGOOOGYYRGYRRORGGOYROOROROGGROGG 77 0:00:00.001013 RORYOGOORYRGYROOGGGGGOOORYYRGYRRORGGOYROOROROGGROGG 78 0:00:00.001013 RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYROOROROGGROGG 78 0:00:00.001013 RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYROOROROGGRORG 79 0:00:00.001013 RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYYOOROROGGRORG 83 0:00:00.001013 RORYOGOORYRGYROOGGGGROOORYYRGYRRORGGOYYROROROGGRORG 84 0:00:00.001013 RORYOGOORYRGYROOGGGGROOORYYRGYRRORGYOYYROROROGGRORG 84 0:00:00.001996 RORYOGOORYYGYROOGGGGROOORYYRGYRRORGYOYYROROROGGRORG 84 0:00:00.001996 RORYOGOORYYGYROOGGGGROORRYYRGYRRORGYOYYROROROGGRORG 84 0:00:00.001996 RORYOYOORYYGYROOGGGGROORRYYRGYRRORGYOYYROROROGGRORG 85 0:00:00.002991 YORYOYOORYYGYROOGGGGROORRYYRGYRRORGYOYYROROROGGRORG 85 0:00:00.002991 YORYOYOORYYGYROOGGGGROORRYYRGYRRORGYOYYYOROROGGRORG 85 0:00:00.002991 YORYOYRORYYGYROOGGGGROORRYYRGYRRORGYOYYYOROROGGRORG 85 0:00:00.002991 YORYOYRORYYGYROOGGGGROORRYYRGYRRORGYOYYYOROROGGRGRG 87 0:00:00.002991 YORYOYRORYYGYROOGGGGROORRYYRGYRRORGYOYGYOROROGGRGRG 87 0:00:00.002991 YORYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGYOROROGGRGRG 88 0:00:00.003989 YOOYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGYOROROGGRGRG 88 0:00:00.003989 YOOYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGYOROROGGRGOG 89 0:00:00.003989 YOOYOYRORYYGYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG 89 0:00:00.003989 YOOYOYRORGYGYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG 90 0:00:00.003989 YOOYOYROGGYGYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG 91 0:00:00.003989 YOOYOYROGGYOYROOGGGGROOORYYRGYRRORGYOYGOOROROGGRGOG 91 0:00:00.003989 YOOYOYROGGYOYROOGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG 91 0:00:00.003989 YOOYOYROGGYOYROGGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG 92 0:00:00.004985 YOOYOYROGGYOYROYGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG 92 0:00:00.004985 YOOYOYROGGYRYROYGGGGROOORYYRGYRRORGYOYGOOROROGGYGOG 92 0:00:00.004985 YOOYOYROGGYRYROYGGGGROOORYYRGYRRORGYOYGOORRROGGYGOG 92 0:00:00.004985 YOOYOYROGGYRYROYGGGGROOORYYRGYRRORGYOYGOORRROGRYGOG 93 0:00:00.004985 YOOYOYRYGGYRYROYGGGGROOORYYRGYRRORGYOYGOORRROGRYGOG 93 0:00:00.004985 YOOYOYRYGGYRYROYGGGGROOORYYRGYRRORYYOYGOORRROGRYGOG 95 0:00:00.004985 YOOYGYRYGGYRYROYGGGGROOORYYRGYRRORYYOYGOORRROGRYGOG 95 0:00:00.005983 YOOYGYRYGGYRYROYGGGGROOORYYGGYRRORYYOYGOORRROGRYGOG 95 0:00:00.005983 YOOYGYRYGGYRYROYGGGGROOORYYGGYRRORYYOYGOORRROGRGGOG 96 0:00:00.005983 YOOYGYRYOGYRYROYGGGGROOORYYGGYRRORYYOYGOORRROGRGGOG 97 0:00:00.005983 YOOYGYRYOGYRYROYGGGGROOORYYGGGRRORYYOYGOORRROGRGGOG 97 0:00:00.005983 YOOYGYRYOGYRYROYGGGGRORORYYGGGRRORYYOYGOORRROGRGGOG 97 0:00:00.005983 YOGYGYRYOGYRYROYGGGGRORORYYGGGRRORYYOYGOORRROGRGGOG 97 0:00:00.005983 YOGYGYRYOGYRYROYGGGGRORORYYGGGRRORYYOYGOORRROGYGGOG 97 0:00:00.006983 YOGYGYRYOGYRYROYGGGGRORORYYGGGRRGRYYOYGOORRROGYGGOG 98 0:00:00.006983 YOGYGYRYOGYRYROYGGGGRORORYYGGGRRGROYOYGOORRROGYGGOG 99 0:00:00.006983 YOGYGYRYOGYRYROYGGGGRGRORYYGGGRRGROYOYGOORRROGYGGOG 99 0:00:00.006983 YOGYGYRYOGYRYROYGGYGRGRORYYGGGRRGROYOYGOORRROGYGGOG 99 0:00:00.006983 YOGYGYRYOGYRYROYGGYGRGRORYYOGGRRGROYOYGOORRROGYGGOG 99 0:00:00.006983 YOGYGYRYOGYRYROOGGYGRGRORYYOGGRRGROYOYGOORRROGYGGOG 99 0:00:00.007980 YOGYGYRYOGYRYRORGGYGRGRORYYOGGRRGROYOYGOORRROGYGGOG 99 0:00:00.007980 YOGYGYRYOGYRYRORGGYGRGRORYYOGYRRGROYOYGOORRROGYGGOG 99 0:00:00.007980 YOGYGYRYOGYRYRORGGYGRGGORYYOGYRRGROYOYGOORRROGYGGOG 99 0:00:00.007980 YOGYGYRYOGYRYRORGGYGRGGORYYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.007980 YOGYGYRYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.007980 YOGYGYRYOGYRYRORGGYGRGYORYYOGYRYGROYOYGOGRRROGYGGOG 100 0:00:00.008977 YOGYGYRYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.008977 YOGYGYYYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.008977 YOGYGYRYOGYRYRORGGYGRGYORYYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.008977 YOGYGYRYOGYRYRORGGYGRGYORGYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.009975 ROGYGYRYOGYRYRORGGYGRGYORGYOGYRRGROYOYGOGRRROGYGGOG 100 0:00:00.009975 ROGYGYRYOGYRYRORGGYGRGYORGYOGYRRGGOYOYGOGRRROGYGGOG 100 0:00:00.009975 ROGYGYRYOGYYYRORGGYGRGYORGYOGYRRGGOYOYGOGRRROGYGGOG 100 0:00:00.010972 ROGYGRRYOGYYYRORGGYGRGYORGYOGYRRGGOYOYGOGRRROGYGGOG 101 0:00:00.010972 ROGYGRRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYGGOG 101 0:00:00.010972 ROGYORRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYGGOG 102 0:00:00.010972 ROGYORRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.011967 GOGYORRYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.011967 GOGYORYYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.011967 GOOYORYYOGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.011967 GOOYORYYYGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.011967 GOOYORYOYGYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.012965 GOOYORYOYRYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRRROGYOGOG 102 0:00:00.013962 GOOYORYOYRYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRYROGYOGOG 102 0:00:00.013962 GOGYORYOYRYYYRORGGYGRYYORGYOGYRRGGOYOYGOGRYROGYOGOG 102 0:00:00.014959 GOGYORYOYRYYYRORGGYGRYYORGYOGYRRGGOROYGOGRYROGYOGOG 102 0:00:00.014959 ROGYORYOYRYYYRORGGYGRYYORGYOGYRRGGOROYGOGRYROGYOGOG 102 0:00:00.015958 ROGYORYOYGYYYRORGGYGRYYORGYOGYRRGGOROYGOGRYROGYOGOG 102 0:00:00.015958 ROGYORYOYGYYYRORGGYGRYYORGYOGYRRGGORYYGOGRYROGYOGOG 102 0:00:00.015958 ROGYORYOYGYYYRORGGYGRYYORGYOGYRRGGORYYGOGRRROGYOGOG 102 0:00:00.015958 ROGYORYOYGYRYRORGGYGRYYORGYOGYRRGGORYYGOGRRROGYOGOG 102 0:00:00.016957 ROGYORYOYGYRYROROGYGRYYORGYOGYRRGGORYYGOGRRROGYOGOG 102 0:00:00.016957 ROGYORYOYGYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG 102 0:00:00.016957 YOGYORYOYGYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG 102 0:00:00.016957 YOOYORYOYGYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.016957 YOOYORYOYRYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.017962 YOOYORYOORYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.017962 ROOYORYOORYRYROROGYGRYYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.017962 ROOYORYOORYRYROROGYGRYYORGOOGYRRGGORYYGRGRRROGYOGOG 103 0:00:00.017962 ROOYORYOORYOYROROGYGRYYORGOOGYRRGGORYYGRGRRROGYOGOG 103 0:00:00.018948 ROOYORYOORYOYROROGYGROYORGOOGYRRGGORYYGRGRRROGYOGOG 103 0:00:00.018948 ROOYORYOORYOYROYOGYGROYORGOOGYRRGGORYYGRGRRROGYOGOG 103 0:00:00.019954 ROOYORYOORYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.019954 GOOYORYOORYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.019954 GOOYORYOOGYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.019954 GOOYORROOGYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROGYOGOG 103 0:00:00.019954 GOOYORROOGYOYROYOGYGROYORGOOGYRRGGORYYGOGRRROYYOGOG 104 0:00:00.020943 GOOYORROOGYOYROYOGYGROYORGOOGGRRGGORYYGOGRRROYYOGOG 104 0:00:00.022938 GOOYORROOGYOYROGOGYGROYORGOOGGRRGGORYYGOGRRROYYOGOG 104 0:00:00.023936 GOOYORROOGYOYROGOGYGROYORGOOGORRGGORYYGOGRRROYYOGOG 104 0:00:00.023936 GOOYORROOGYOYROGOGYGROYORGYOGORRGGORYYGOGRRROYYOGOG 104 0:00:00.023936 GOORORROOGYOYROGOGYGROYORGYOGORRGGORYYGOGRRROYYOGOG 104 0:00:00.023936 GOORORROOGYOYROGOGYGROYORGYOGORRGGORYYGYGRRROYYOGOG 104 0:00:00.024932 GOORORROOGYOYROGOGYGROYORGOOGORRGGORYYGYGRRROYYOGOG 104 0:00:00.024932 GOORORROOGYGYROGOGYGROYORGOOGORRGGORYYGYGRRROYYOGOG 104 0:00:00.025930 GOORORROOGYGYROGOGYGRYYORGOOGORRGGORYYGYGRRROYYOGOG 104 0:00:00.025930 GOORORROOGYGYROGOGYGRYYORGOOGORRGGORYYGYRRRROYYOGOG 104 0:00:00.025930 GOORORROOGYGYROGOGYGRYYORGOOGGRRGGORYYGYRRRROYYOGOG 104 0:00:00.025930 GOORORROOGYGYROGOGYGRYYORGOOGGRYGGORYYGYRRRROYYOGOG 104 0:00:00.026927 GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYRRRROYYOGOG 104 0:00:00.026927 GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYRRRROYYOROG 104 0:00:00.026927 GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYRRRROYYGROG 104 0:00:00.026927 GOORORROOGYGYROGOGYGRGYORGOOGGRYGGORYYGYGRRROYYGROG 104 0:00:00.026927 GOORORROOGYYYROGOGYGRGYORGOOGGRYGGORYYGYGRRROYYGROG 104 0:00:00.027924 GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGYGRRROYYGROG 104 0:00:00.028922 GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGYGRRRYYYGROG 104 0:00:00.028922 GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGOGRRRYYYGROG 104 0:00:00.029919 GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGOGRRRYYYGROO 104 0:00:00.030922 GOORORROOGYYYROOOGYGRGYORGOOGGRYGGORYYGOGRRRYYYOROO 104 0:00:00.031919 GOORORROOGYYYROOOGYGRGYORGOOGGOYGGORYYGOGRRRYYYOROO 104 0:00:00.031919 GOORORROOGYYYROOOGYGRGYORGOOGGOYOGORYYGOGRRRYYYOROO 104 0:00:00.031919 GOORORROOGYYYROOOGYGRGYORGOOGGRYOGORYYGOGRRRYYYOROO 104 0:00:00.031919 GOORORROOGYYYROOOGYGRGYORGOOGGRYOGORYYGOGRRRYYYGROO 104 0:00:00.032910 GOORORROOGYYYROROGYGRGYORGOOGGRYOGORYYGOGRRRYYYGROO 104 0:00:00.033908 GOORORRGOGYYYROROGYGRGYORGOOGGRYOGORYYGOGRRRYYYGROO 104 0:00:00.034904 GOORORRGOGYYYROROGYGRGYORGOOGGRROGORYYGOGRRRYYYGROO 104 0:00:00.034904 GOORORRGOGYYYROROGYGRGYORGOOGGRROGORYYGOGRRRYYYGROY 104 0:00:00.034904 GOORORRGYGYYYROROGYGRGYORGOOGGRROGORYYGOGRRRYYYGROY 104 0:00:00.034904 GOORORRGYGYYYROROGYGRGYORGOOYGRROGORYYGOGRRRYYYGROY 104 0:00:00.034904 GOORORRGYGYYYROROGYGRGYORGOOYGRROGOOYYGOGRRRYYYGROY 104 0:00:00.035902 GOORORRGYGYYYROROGYGRGGORGOOYGRROGOOYYGOGRRRYYYGROY 104 0:00:00.035902 GOORORRGYGYYYROROGYGRGGORGOOYGRROGOOYYGOGRRROYYGROY 105 0:00:00.035902 GOORORRGYGYYYROROGYGRGYORGOOYGRROGOOYYGOGRRROYYGROY 105 0:00:00.035902 GOORORRGYGYYYROROGYGRGYORGOOYGRROGOOYYGYGRRROYYGROY 105 0:00:00.036911 GOORORRGYGYYYROROGYGRGYORGOOYGRRGGOOYYGYGRRROYYGROY 105 0:00:00.036911 GOORORRGYGYGYROROGYGRGYORGOOYGRRGGOOYYGYGRRROYYGROY 105 0:00:00.036911 GOORORRGYGYGYROROGYGRGYORGOOYGRRGGORYYGYGRRROYYGROY 105 0:00:00.037896 GOORORRGYGYGYROROGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY 105 0:00:00.037896 GOORORRGYRYGYROROGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY 105 0:00:00.038894 GOORORRGYRYGYROGOGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY 105 0:00:00.038894 GOORORROYRYGYROGOGYGRGYORGOOYGRRGGORYYGYGRRROYYOROY 105 0:00:00.038894 GOORORROYRYGYROGOGYGRGYORGOOYGRRGGORYYGOGRRROYYOROY 105 0:00:00.038894 GOORORROYRYGYROGOGYGRGYORGOOYGORGGORYYGOGRRROYYOROY 105 0:00:00.038894 GOORORROYRYGYROGOGYGRGYORGOOGGORGGORYYGOGRRROYYOROY 105 0:00:00.038894 GOORORROYRYGYROGOYYGRGYORGOOGGORGGORYYGOGRRROYYOROY 105 0:00:00.039892 GOORORROYRYGYROGOYYGRGYORGOOGGORGGORYYGYGRRROYYOROY 105 0:00:00.039892 GOORORROYRYGYROGOYYGRGYORGOOYGORGGORYYGYGRRROYYOROY 105 0:00:00.039892 OOORORROYRYGYROGOYYGRGYORGOOYGORGGORYYGYGRRROYYOROY 105 0:00:00.039892 OOORORROYRYGYROGOYYGRGYORGOOYGOROGORYYGYGRRROYYOROY 105 0:00:00.040906 OOORORROYGYGYROGOYYGRGYORGOOYGOROGORYYGYGRRROYYOROY 105 0:00:00.043880 OOORORROYGYGYROGOYYGRGYOGGOOYGOROGORYYGYGRRROYYOROY 105 0:00:00.043880 OOORORROYGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROYYOROY 105 0:00:00.043880 GOORORROYGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROYYOROY 105 0:00:00.044879 GOORORROYGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROGYOROY 106 0:00:00.044879 GOORORROOGYGYROGOYYGRYYOGGOOYGOROGORYYGYGRRROGYOROY 106 0:00:00.044879 GOORORROOGYGYROGOYYGRYYOGGOOYGOYOGORYYGYGRRROGYOROY 106 0:00:00.044879 YOORORROOGYGYROGOYYGRYYOGGOOYGOYOGORYYGYGRRROGYOROY 106 0:00:00.045876 YOORORROOGYGYROGOYYGRYOOGGOOYGOYOGORYYGYGRRROGYOROY 106 0:00:00.045876 YOORORROOGYGYROGOYYGRYOOGGOOGGOYOGORYYGYGRRROGYOROY 106 0:00:00.053853 GOORORROOGYGYROGOYYGRYOOGGOOGGOYOGORYYGYGRRROGYOROY 106 0:00:00.053853 GOORORROOGYGYROGOYYGRGOOGGOOGGOYOGORYYGYGRRROGYOROY 106 0:00:00.053853 GOORORROOGYGYROGOYYGRGOOGGOOGGOROGORYYGYGRRROGYOROY 106 0:00:00.054851 GOORORROOGYRYROGOYYGRGOOGGOOGGOROGORYYGYGRRROGYOROY 106 0:00:00.054851 GOORORROOGYRYROGOYYGRGOOGGOOYGOROGORYYGYGRRROGYOROY 106 0:00:00.054851 GOORORROOGYRYROGOYYGRYOOGGOOYGOROGORYYGYGRRROGYOROY 106 0:00:00.054851 GOORORROOGYRYROGOYYGRYOOGGOOYGORGGORYYGYGRRROGYOROY 106 0:00:00.054851 GOORORROOGYRYROGOYYGRROOGGOOYGORGGORYYGYGRRROGYOROY 106 0:00:00.054851 YOORORROOGYRYROGOYYGRROOGGOOYGORGGORYYGYGRRROGYOROY 106 0:00:00.054851 YOORORROOGYRYROGOYYGRROOGGOOYGORGGORYYGYGRRROGYGROY 106 0:00:00.055848 YOORORROOGYRYROGOYYGRRYOGGOOYGORGGORYYGYGRRROGYGROY 106 0:00:00.056846 YOORORRYOGYRYROGOYYGRRYOGGOOYGORGGORYYGYGRRROGYGROY 106 0:00:00.057843 YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGYGROY 106 0:00:00.058841 GOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGYGROY 106 0:00:00.059839 YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGYGROY 106 0:00:00.059839 YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY 106 0:00:00.059839 YOORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYYYGRRROGRGROY 106 0:00:00.060836 ROORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYYYGRRROGRGROY 106 0:00:00.060836 ROORORRYOGYRYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY 106 0:00:00.060836 ROORORRYOGYGYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY 106 0:00:00.060836 ROORORROOGYGYROGOYYGRRYOGGOOGGORGGORYYGYGRRROGRGROY 106 0:00:00.060836 ROORORROOGYGYROGOYYGRRYOGGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.060836 GOORORROOGYGYROGOYYGRRYOGGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.060836 GOORORROOGYGYROGOYYGRRYORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.061832 OOORORROOGYGYROGOYYGRRYORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.062838 OOORORROOGYYYROGOYYGRRYORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.062838 OOORORROOGYYYROGOYYGRROORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.064826 OOORORROOGYYYROGOYYGRYOORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.065822 OOORORROOGYYYROGOYYGRYOORGOOGGORGGORYYGYRRRROGYGROY 106 0:00:00.065822 OOORORROYGYYYROGOYYGRYOORGOOGGORGGORYYGYRRRROGYGROY 106 0:00:00.065822 OOORORROYGYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGYGROY 106 0:00:00.066820 OOORORROYGYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.066820 OOORORROYRYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.066820 OOORORROORYYYROGOYYGRGOORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.066820 OOORORROORYYYROGOYYGRGOORGOOGGORGGYRYYGYRRRROGRGROY 106 0:00:00.067817 OOORORROYRYYYROGOYYGRGOORGOOGGORGGYRYYGYRRRROGRGROY 106 0:00:00.067817 OOORORROORYYYROGOYYGRGOORGOOGGORGGYRYYGYRRRROGRGROY 106 0:00:00.067817 OOORORROORYYYROGOYYGRYOORGOOGGORGGYRYYGYRRRROGRGROY 106 0:00:00.068814 OOORORROORYYYROGOYYGYYOORGOOGGORGGYRYYGYRRRROGRGROY 106 0:00:00.068814 OOORORROORYYYROGOYYGYYYORGOOGGORGGYRYYGYRRRROGRGROY 106 0:00:00.068814 OOORORROORYYYROGOYYGYYYORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.069811 ROORORROORYYYROGOYYGYYYORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.069811 YOORORROORYYYROGOYYGYYYORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.069811 YOORORROORYYYROGOYYGYYOORGOOGGORGGORYYGYRRRROGRGROY 106 0:00:00.069811 YOORORROORYYYROGOYYGYYOORGOOYGORGGORYYGYRRRROGRGROY 106 0:00:00.069811 YOORORROORYYYROGOYYGYYOGRGOOYGORGGORYYGYRRRROGRGROY 106 0:00:00.070808 YOORORROORYYYROGOYYGYYYGRGOOYGORGGORYYGYRRRROGRGROY 106 0:00:00.070808 YOOYORROORYYYROGOYYGYYYGRGOOYGORGGORYYGYRRRROGRGROY 106 0:00:00.070808 YOOYORROORYYYROGOYYGYYYGRGOOYGORGGORYYGYGRRROGRGROY 106 0:00:00.070808 YOOYRRROORYYYROGOYYGYYYGRGOOYGORGGORYYGYGRRROGRGROY 106 0:00:00.071806 YOOYRRROORYYYROGOYYGYGYGRGOOYGORGGORYYGYGRRROGRGROY 106 0:00:00.072804 YOOYRRROORYYYROGOYYGYGYGRGGOYGORGGORYYGYGRRROGRGROY 106 0:00:00.073800 YOOYRRROORYYYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY 106 0:00:00.073800 YOOYRRROORYOYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY 106 0:00:00.073800 GOOYRRROORYOYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY 106 0:00:00.073800 GOOYRRROOGYOYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY 106 0:00:00.074798 GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGORYOGYGRRROGRGROY 106 0:00:00.074798 GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGYRYOGYGRRROGRGROY 106 0:00:00.074798 GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGYRYOGYGORROGRGROY 106 0:00:00.075795 GOOYRRROOGYGYROGOYYGYGYGRGGOYGORGGORYOGYGORROGRGROY 106 0:00:00.075795 GOOYRRROOGYGYROGOYYGYGOGRGGOYGORGGORYOGYGORROGRGROY 106 0:00:00.076795 GOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYGORROGRGROY 106 0:00:00.076795 YOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYGORROGRGROY 106 0:00:00.076795 GOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYGORROGRGROY 106 0:00:00.077790 GOOYRRROOGYGYROGOYYGYGOGRGGORGORGGORYOGYRORROGRGROY 106 0:00:00.077790 GOOYRRROOGYGYROGOYYGYGOGRGGOYGORGGORYOGYRORROGRGROY 106 0:00:00.077790 GOOYRRROOGYGYROGOYYGYGOGRGGOYGORGGORYOGYGORROGRGROY 106 0:00:00.077790 GOOYRRROOGYGYROGOYYGYROGRGGOYGORGGORYOGYGORROGRGROY 106 0:00:00.078787 ROOYRRROOGYGYROGOYYGYROGRGGOYGORGGORYOGYGORROGRGROY 106 0:00:00.078787 YOOYRRROOGYGYROGOYYGYROGRGGOYGORGGORYOGYGORROGRGROY 106 0:00:00.078787 YOOYRRROOGYGYROGOYYGYROGRGGOYGOROGORYOGYGORROGRGROY 106 0:00:00.079785 YOOYRRROOGYGYROGOYYGYROGRGGOYGOROGORYOGOGORROGRGROY 106 0:00:00.079785 YOOYRRROOGYGYROGOYYGYROGRGGOYGOROGORYYGOGORROGRGROY 106 0:00:00.079785 YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGOGORROGRGROY 106 0:00:00.079785 YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGORORROGRGROY 106 0:00:00.079785 YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGORORROGYGROY 106 0:00:00.080782 YOOYRRROOGYGYROGOYYGYYOGRGGOYGOROGORYYGOGORROGYGROY 106 0:00:00.080782 YOOYORROOGYGYROGOYYGYYOGRGGOYGOROGORYYGOGORROGYGROY 106 0:00:00.080782 YOOYORROOGYGYROGOYYGYROGRGGOYGOROGORYYGOGORROGYGROY 106 0:00:00.080782 YOOYORROOGYYYROGOYYGYROGRGGOYGOROGORYYGOGORROGYGROY 106 0:00:00.081779 YOOYORROOGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.081779 YOORORROOGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.081779 GOORORROOGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.081779 GOORORROOGYYYROGOYYGYGOGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.081779 GOORORRROGYYYROGOYYGYGOGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.082776 GOORORRROGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.082776 OOORORRROGYYYROGOYYGYROGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.084772 OOORORRROGYYYROGOYYGYYOGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.085768 OOORORRROGYYYROGOYYGYGOGRGGORGOROGORYYGOGORROGYGROY 106 0:00:00.085768 OOORORRROGYYYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYGROY 106 0:00:00.085768 OOORORRROGYYYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY 106 0:00:00.086766 GOORORRROGYYYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY 106 0:00:00.086766 GOORORRROGYRYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY 106 0:00:00.086766 ROORORRROGYRYROGOYYGYGOGRGGORGOYOGORYYGOGORROGYOROY 106 0:00:00.086766 ROORORRROGYRYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.086766 GOORORRROGYRYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.087763 GOORORRROGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.087763 GOORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.087763 GOORORRORGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.088760 YOORORRORGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.088760 YOORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYOROY 106 0:00:00.088760 YOORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.090755 ROORORRRRGYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.093747 ROORORRRRGYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.093747 ROORORRRRRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.094744 GOORORRRRRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.095742 GOORORRORRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.095742 GOOYORRORRYOYROGOYYGYGOGGGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.096739 GOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.096739 GOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORGOGYGROY 106 0:00:00.096739 GOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.096739 OOOYORRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.096739 OOOYRRRORRYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.097736 OOOYRRROORYOYROGOYYGYGOGRGGORGRYOGORYYGOGORROGYGROY 106 0:00:00.097736 OOOYRRROORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY 106 0:00:00.097736 ROOYRRROORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY 106 0:00:00.097736 ROOYRRYOORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY 106 0:00:00.097736 YOOYRRYOORYOYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY 106 0:00:00.098734 YOOYRRYOORYYYROGOYYGYGOGRGGORGRYOGORYOGOGORROGYGROY 106 0:00:00.098734 YOOYRRYOORYYYROGOYYGYGOGRGGOYGRYOGORYOGOGORROGYGROY 106 0:00:00.098734 YOOYRRYOORYYYROGOYYGYGOGRGGOYGRYOGORYOGORORROGYGROY 106 0:00:00.098734 YOOYRRYOORYYYROGOYYGYGOGGGGOYGRYOGORYOGORORROGYGROY 106 0:00:00.099731 YOOYRRYOOGYYYROGOYYGYGOGGGGOYGRYOGORYOGORORROGYGROY 106 0:00:00.099731 YOOYRRYOOGYYYROGOYYGRGOGGGGOYGRYOGORYOGORORROGYGROY 106 0:00:00.099731 YOOYRRYOOGYYYROGOYYGRGOGGGGOYRRYOGORYOGORORROGYGROY 106 0:00:00.099731 YOOYRGYOOGYYYROGOYYGRGOGGGGOYRRYOGORYOGORORROGYGROY 107 0:00:00.099731
b[1]
1396
n = sorted(list(states.keys()))
clm = {}
for i in range(len(n)):
clm[n[i]] = colorLookup[b[0].Genes[i]]
us = json.load(open("./states.json","r"))
fig = plt.figure(figsize=(14,8))
ax = plt.subplot()
for c in us:
js = json.loads(us[c])
poly = plt.Polygon(js["rings"][0],ec = '#000000',
fc=clm[c], alpha = 0.8)
ax.add_patch(poly)
ax.set_xlim(-178,-66)
ax.set_ylim(18,71)
plt.show()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。